[]
        
立即试用
(Showing Draft Content)

导出PDF

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 结果有所不同。