2016-11-09 174 views
0

我有一個頁面XLSX工作表(發票)。我需要將其轉換爲一頁PDF文檔。爲此我使用了Spire庫。但它將我的文檔轉換爲兩頁。通過Spire.Pdf將一個頁面上的XLSX轉換爲PDF(c#)

代碼:

using (ExcelPackage xlPackageRef = new ExcelPackage(totalXlsFile)) 
{ 
    using (ExcelPackage xlPackage = new ExcelPackage(workXlsFile)) 
    { 
     ExcelWorkbook wb = xlPackage.Workbook; 
     ExcelWorkbook wbRef = xlPackageRef.Workbook; 
     var sheetName = invoice.XlsSeznamFakturNazevListu; 
     OfficeOpenXml.ExcelWorksheet wsRef = wbRef.Worksheets[sheetName]; 
     if (wsRef != null) 
     { 
      // create xls work file 
      wb.Worksheets.Add("faktura", wsRef); 
      xlPackage.Save(); 

      // load Excel file 
      Workbook workbook = new Workbook(); 
      workbook.LoadFromFile(workXlsFilePath); 

      // pdf file path 
      FileInfo pdfInvoiceFile = new FileInfo(pdfInvoiceTargetFolder + @"/" + pdfInvoiceFileName); 
      if (pdfInvoiceFile.Exists) 
       pdfInvoiceFile.Delete(); 

      // create pdf file 
      workbook.SaveToFile(pdfInvoiceFile.FullName, Spire.Xls.FileFormat.PDF); 
     } 
    } 
} 

回答

0

首先,我想你是使用Spire.XLS而非Spire.PDF。第二,你需要在轉換之前做一些頁面設置。請嘗試以下代碼:

Worksheet worksheet = workbook.Worksheets[index]; 
PageSetup setup = worksheet.PageSetup; 
setup.FitToPagesWide = 1; 
setup.FitToPagesTall = 1;