将Excel工作簿转换为PDF

将Excel工作簿转换为PDF

PDF文件被广泛用于组织、政府部门和个人之间交换文档。它是一种标准文档格式,软件开发人员经常被要求找到一种方法将Microsoft Excel文件转换为PDF文档。

Aspose.Cells支持将Excel文件转换为PDF,并在转换过程中保持高度的视觉保真度。

直接转换

Aspose.Cells 支持将电子表格独立地转换为 PDF,无需其他软件。只需使用 Workbook 类的 Save 方法将Excel文件保存为PDF即可。 Save 方法提供了 SaveFormat_Pdf 枚举成员,可将原生Excel文件转换为PDF格式。

按以下步骤直接将Excel电子表格转换为PDF格式:

  1. 通过调用其空构造函数实例化 Workbook 类的对象。
  2. 您可以打开/加载现有模板文件,或者如果您是从头开始创建工作簿,则跳过此步骤。
  3. 使用Aspose.Cells的API在电子表格上进行任何工作(输入数据,应用格式,设置公式,插入图片或其他绘图对象等)。
  4. 当电子表格代码完成时,调用 Workbook 类的 Save 方法来保存电子表格。

文件格式应为PDF,因此从 SaveFormat 枚举中选择相关的PDF(预定义值)以生成最终的PDF文档

请参阅以下示例代码,其 示例Excel文件输出PDF 供参考。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path.
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String sampleConvertExcelWorkbookToPDF = srcDir+ u"sampleConvertExcelWorkbookToPDF.xlsx";
// Path of output Pdf file
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_DirectConversion.pdf";
// Load the sample Excel file.
Workbook workbook(sampleConvertExcelWorkbookToPDF);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, SaveFormat::Pdf);
Aspose::Cells::Cleanup();

高级转换

您还可以选择使用 PdfSaveOptions 类来设置转换的不同属性。设置 PdfSaveOptions 类的不同属性可控制输出PDF文件的打印,字体,安全性和压缩设置。最重要的属性是 SetCompliance,它允许您将Excel文件保存为符合PDF/A标准的PDF文件。

将工作簿保存为PDF/A兼容文件

以下代码片段演示了如何使用 PdfSaveOptions 类将Excel文件保存为符合PDF/A标准的PDF格式

请参见以下示例代码和其 输出PDF 供参考。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_PdfCompliance_PdfA1b.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"Testing PDF/A");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the compliance to PDF/A-1b.
pdfSaveOptions.SetCompliance(PdfCompliance::PdfA1b);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();

设置PDF创建时间

使用 IPdfSaveOptions 类,您可以获取或设置PDF创建时间。

请参阅以下示例代码和其 输出PDF 供参考。

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir + u"outputConvertExcelWorkbookToPDF_PDFCreationTime.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"PDF Creation Time is 25-May-2017.");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the created time for the PDF i.e. 25-May-2017
pdfSaveOptions.SetCreatedTime(Date{2017, 5, 25});
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();