[]
        
首页
开发者学堂
文档
论坛
市场
生态机会
活动
立即试用
(Showing Draft Content)

导出形状

GcExcel为加载、保存、打印和导出Excel文件提供了广泛的支持,其中包括支持导出形状。

IShape接口的getIsPrintablesetIsPrintable方法可用于获取或设置是否将形状导出到PDF文档中。默认情况下,此值为TRUE,因此将打印嵌入Excel文件中的形状。如果不想将形状导出到PDF文件,则必须将此值设置为FALSE。

形状导出到PDF功能允许用户打印和导出不同类型的形状,如标注、线条、矩形、基本形状、块箭头、流程图、公式形状、星形和横幅等。在遇到以下情况时,可以使用此功能:

  • 当存在有Excel文件,其中包含图形、报表和仪表板,这些图形、报表和仪表板包含各种形状,并且希望导出为PDF文件。

  • 借助此功能,用户可以将包含预设形状、基本形状、自定义形状和组合形状的电子表格导出到PDF文件中,这些形状具有不同的操作,如旋转、翻转、连接箭头和文本等。

  • 电子表格模板中包含形状的填充功能(如实体填充、渐变填充等)时,可以采用导出为PDF格式显示。

代码用例

请参阅以下示例代码以将形状导出为PDF。

// Initialize workbook
Workbook workbook = new Workbook();
        
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);

// Adding Shapes
IShape ShapeBegin = 
worksheet.getShapes().addShape(AutoShapeType.CloudCallout, 1, 1, 100, 100);
IShape EndBegin = 
worksheet.getShapes().addShape(AutoShapeType.Wave, 200, 200, 100, 100);
        
// Adding Connector Shape
IShape ConnectorShape = worksheet.getShapes()
.addConnector(ConnectorType.Straight, 1, 1, 101, 101);

// Connect shapes by connector shape
ConnectorShape.getConnectorFormat().beginConnect(ShapeBegin, 3);
ConnectorShape.getConnectorFormat().endConnect(EndBegin, 0);

/* Get second shape in current worksheet( here it's a connector shape) 
   and do not print it(default value is true) */
worksheet.getShapes().get(2).setIsPrintable(false);

// Saving workbook to PDF
workbook.save("ExportShapesToPDF.pdf", SaveFileFormat.Pdf);

注意:将包含形状的Excel文件导出为PDF格式时,某些导出的形状(包括具有渐变填充和图案填充的形状)、具有多行和渐变线的形状、形状效果、文本设置(如文本对齐、文本分布和垂直文本)可能与Excel中的显示效果不完全相同。

导出带项目符号的形状文本

GcExcel Java 支持在导出为 PDF 时保留形状文本中的项目符号格式。导出的 PDF 文件可正确展示项目符号的类型、颜色、大小等属性,确保视觉效果与 Excel 尽可能保持一致。

导出包含带项目符号文本形状的 Excel 文件时,GcExcel Java 会自动解析并渲染源文件中的项目符号定义。

GcExcel Java 支持导出以下三种项目符号类型:

项目符号类型

说明

符号项目符号

使用特殊符号(•、○、■ 等)作为项目符号标记

自动编号项目符号

使用数字或字母序列(1、2、3 或 a、b、c 等)

自定义项目符号

用户自定义的专属符号

导出为 PDF 时,GcExcel Java 可保留以下项目符号属性:

颜色:项目符号颜色按以下优先级判定:

  1. 项目符号自身颜色(若已设置)

  2. 段落文本颜色(未设置项目符号颜色时的备用颜色)

大小:项目符号大小与段落字体大小成比例。该比例可在 Excel 的项目符号设置中配置,并在导出过程中保留。


样式:项目符号支持以下样式:

  • 删除线:适用于所有项目符号类型(符号型、自动编号型、自定义型)

  • 加粗/斜体:仅适用于自动编号项目符号

以下示例演示如何将包含带项目符号形状的 Excel 文件导出为 PDF,导出过程中会自动保留项目符号格式。

// 创建新工作簿
Workbook workbook = new Workbook();
// 打开包含带项目符号形状的Excel文件
workbook.open("Bullet.xlsx");
// 导出为PDF文件
workbook.save("BulletToPDF.pdf");

导出效果如下图所示:

image


局限性

目前暂不支持图片型项目符号。若 Excel 文件使用图片作为项目符号标记,导出的 PDF 中将无法显示此类项目符号。