[]
GcExcel 为您提供了将工作簿导出为 PDF 文件的工具。您可以为工作簿中的每个工作表设置分页,并将其导出到 PDF 文件中指定的页面。在执行导出操作时,还可以应用样式、自定义字体、添加安全选项、配置文档属性以及调整行高或列宽。
另外,您可以将带有图表、切片器和背景图片的 Excel 工作表导出为 PDF 文档。
GcExcel 允许您使用 IWorkbook 接口的 save() 方法将工作簿中所有可见的电子表格保存到 PDF 中。工作簿中的每个工作表都会保存到 PDF 文件中的新页面。但是,如果只想将当前工作表(活动工作表)导出为 PDF 格式,可以使用 IWorksheet 接口的 save() 方法。
在 PDF 导出的情况下处理图片也是非常有效的。如果一张图片在电子表格中被多次使用,GcExcel 只会保留一份图片副本,以减小导出的 PDF 文件的大小。
要将电子表格导出为 PDF 文件,请参阅以下示例代码。
// Create a new workbook and add worksheets
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);
IWorksheet worksheet1 = workbook.getWorksheets().add();
// Set value and apply styles to the worksheet
worksheet1.getRange("A1").setValue("Sheet1");
worksheet1.getRange("A1").getFont().setName("Wide Latin");
worksheet1.getRange("A1").getFont().setColor(Color.GetRed());
worksheet1.getRange("A1").getInterior().setColor(Color.GetGreen());
// Export Workbook to pdf file, the exported file has two pages.
workbook.save("ConvertWorkbookToPDF.pdf", SaveFileFormat.Pdf);
// Just export a particular worksheet to pdf file
worksheet1.save("ConvertWorksheetToPDF.pdf", SaveFileFormat.Pdf)
此外,GcExcel 提供了 PdfSaveOptions 类来定制PDF文件的导出。这些选项如下所示:
类 | 选项 | 描述 | |
---|---|---|---|
导出选项 | PdfSaveOptions | BorderOptions | 导出PDF时存储边框选项。 |
DocumentProperties | 表示PDF的文档属性。 | ||
FileFormat | 表示工作簿的保存格式。 | ||
FormFields | 指示是否用PDF表单域替换Excel表单控件。并非所有控件和属性都受支持。 | ||
ImageQuality | 以百分比设置图像质量。此值必须介于0(最低质量,最大压缩)和100(最高质量,无压缩)之间。默认值为75。 | ||
OpenActionScript | 设置打开保存的PDF文件时要执行的JavaScript。 | ||
PrintBackgroundPicture | 指示是否在页面上打印工作表的背景图像。 | ||
PrintTransparentCell | 指示是否在页面上打印单元格背景色的透明度。 | ||
SecurityOptions | 表示PDF的安全设置。 | ||
ShrinkToFitSettings | 关于对自动换行文本执行缩小以适应的设置。 | ||
ViewerPreferences | 包含指定当前文档应如何显示的信息的设置。 | ||
IncludeAutoMergedCells | 指示是否包含自动合并的单元格。默认值为false。 |
GcExcel 还支持通过 PdfSaveOptions 类的 setOpenActionScript 方法在 PDF 文档中设置 JavaScript。打开保存的 PDF 文档时,会执行 JavaScript。
请参考以下示例代码,在 Excel 模板中设置 JavaScript,该模板用于创建 PDF 表单。
Workbook workbook = new Workbook();
workbook.open("D:\\SampleTemplate.xlsx");
workbook.processTemplate();
PdfSaveOptions options = new PdfSaveOptions();
options.setOpenActionScript("var fld1 = this.getField(\"num\");" +
"fld1.value = fld1.value;" +
"this.dirty = false;");
workbook.save("SampleTemplate_java.pdf", options);
在执行导出操作时,可以配置字体、设置样式和指定页面设置选项,来自定义导出 PDF。有关详细信息,请参阅以下主题:
GcExcel 不支持将图片设置(如线条格式、填充格式、亮度、对比度和水印颜色类型)导出到 PDF 文档中。
与微软 Excel 相比,GcExcel 中 PatternType 枚举的 DiagonalCross 结果有所不同。