/// <summary> /// 导出Pdf /// </summary> /// <typeparam name="T"></typeparam> /// <param name="name">名称,不带文件后缀名</param> /// <param name="pdfWidth">pdf页面宽度</param> /// <param name="isView">是否是在线浏览</param> /// <param name="pdfHeight">pdf页面高度</param> /// <param name="sourceDatas">数据源</param> public static void ExportToPdf <T>(string name, List <T> sourceDatas, bool isView = false, int pdfWidth = 0, int pdfHeight = 0) where T : class { if (!sourceDatas.AnyOne()) { return; } var book = GetWorkBook(sourceDatas); var pdfDocument = new PdfDocument { PageSettings = { Orientation = PdfPageOrientation.Landscape } }; //设置宽度和高度 if (pdfWidth > 0) { pdfDocument.PageSettings.Width = pdfWidth; } if (pdfHeight > 0) { pdfDocument.PageSettings.Height = pdfHeight; } var settings = new PdfConverterSettings { TemplateDocument = pdfDocument, FitSheetToOnePage = FitToPageType.ScaleWidthDifferentFactor }; pdfDocument = book.SaveToPdf(settings); pdfDocument.SaveToHttpResponse(name + ".pdf", System.Web.HttpContext.Current.Response, isView ? HttpReadType.Open : HttpReadType.Save); }
public FileUploadController(IOptions <PdfConverterSettings> settings) { this.settings = settings.Value; Directory.CreateDirectory(this.settings.TempFilePath); Directory.CreateDirectory(this.settings.PdfDownloadPath); this.fileConverter = new FileToPdfUtil(settings); }
private void btnRun_Click(object sender, System.EventArgs e) { Workbook workbook = new Workbook(); workbook.LoadFromFile(@"..\..\..\..\..\..\Data\DataTableSample.xls"); PdfConverter pdfConverter = new PdfConverter(workbook); PdfDocument pdfDocument = new PdfDocument(); PdfConverterSettings settings = new PdfConverterSettings(); settings.EmbedFonts = true; settings.TemplateDocument = pdfDocument; pdfDocument = pdfConverter.Convert(settings); pdfDocument.SaveToFile("sample.pdf"); pdfDocument.Close(); ExcelDocViewer("sample.pdf"); }
private void button1_Click(object sender, EventArgs e) { // load Excel file Workbook workbook = new Workbook(); workbook.LoadFromFile("D:\\MyExcel.xlsx"); // Set PDF template PdfDocument pdfDocument = new PdfDocument(); pdfDocument.PageSettings.Orientation = PdfPageOrientation.Landscape; pdfDocument.PageSettings.Width = 970; pdfDocument.PageSettings.Height = 850; //Convert Excel to PDF using the template above PdfConverter pdfConverter = new PdfConverter(workbook); PdfConverterSettings settings = new PdfConverterSettings(); settings.TemplateDocument = pdfDocument; pdfDocument = pdfConverter.Convert(settings); // Save and preview PDF pdfDocument.SaveToFile("MyPDF.pdf"); System.Diagnostics.Process.Start("MyPDF.pdf"); }
public static MemoryStream ConvertXLSXtoPDF(MemoryStream stream) { // Result Stream MemoryStream pdfMemoryStream = new MemoryStream(); // Spire.XLS to open XLSX workbook stream created by EPPlus Workbook workbook = new Workbook(); workbook.LoadFromStream(stream, ExcelVersion.Version2013); // Spire.PDF to convert XLSX to PDF, I read it has limited functionality (total pages, rows, etc...). PdfConverter pdfConverter = new PdfConverter(workbook); PdfConverterSettings settings = new PdfConverterSettings(); settings.FitSheetToOnePage = FitToPageType.ScaleWithSameFactor; workbook.SaveToStream(pdfMemoryStream, FileFormat.PDF); //PdfDocument pdfDocument = pdfConverter.Convert(settings); //pdfDocument.SaveToStream(pdfMemoryStream); return pdfMemoryStream; }
public FileToPdfUtil(IOptions <PdfConverterSettings> settings) { this.settings = settings.Value; }
public UploadedFilesViewComponent(IOptions <PdfConverterSettings> settings) { this.settings = settings.Value; }
private void btnRun_Click(object sender, System.EventArgs e) { Workbook workbook = new Workbook(); workbook.LoadFromFile(@"..\..\..\..\..\..\Data\DataTableSample.xls"); PdfConverter pdfConverter = new PdfConverter(workbook); PdfDocument pdfDocument = new PdfDocument(); PdfConverterSettings settings = new PdfConverterSettings(); settings.EmbedFonts = true; settings.TemplateDocument = pdfDocument; pdfDocument = pdfConverter.Convert(settings); pdfDocument.SaveToFile("sample.pdf"); pdfDocument.Close(); ExcelDocViewer("sample.pdf"); }