跳至主要內容

模式介绍

xsx大约 2 分钟fop模块对象模式

介绍

说明

本模式为 document 数据源的面向对象模式,将 xsl-fo 中的标签抽象为对象,以组件化的形式构建 dom 并转换为 pdf 文档,即使不懂 xsl-fo 的语法规则,也能够使用本模块创建 pdf 文档。

基础对象

对象
说明
document文档,为 pdf 文档的描述。
page页面,为 pdf 页面的描述。
bookmark书签,为 pdf 书签的描述。
watermark水印,为 pdf 水印的描述。(此水印为图片水印,非 pdf 文档中的标准水印。)

组件对象

对象
说明
text文本,为 pdf 页面中文本元素的描述。(包含普通文本与扩展文本。)
image图像,为 pdf 页面中图像元素的描述。(包含常用图像格式与svg格式。)
table表格,为 pdf 页面中表格元素的描述。(包含表头、表尾、表格体、表格行与表格单元格。)
barcode条码,为 pdf 页面中条码元素的描述。(包含条形码与二维码。)
blockContainer块容器,为 pdf 页面中元素容器的描述。(类似于 html 中的 div 元素。)
line分割线,为 pdf 页面中线条元素的描述。(包含多种类型的分割线,如:实线、双实线、虚线等。)
pageNumber为 pdf 页面中页码元素的描述。(包含当前页码与总页码。)

基本用法

说明

以添加文本为例

1. 创建文档对象

Document document = TemplateHandler.Document.build();

2. 创建页面对象

Page page = TemplateHandler.Page.build();

3. 创建组件对象

Text text = TemplateHandler.Text.build().setText("hello world");

4. 添加组件

page.addBodyComponent(text);

5. 添加页面

document.addPage(page);

6. 转换文档

document.transform(outputPath);

完整示例

说明

以添加文本为例

// 定义pdf输出路径
String outputPath = "E:\\pdf\\test\\fo\\document.pdf";
// 创建文档对象
Document document = TemplateHandler.Document.build();
// 创建页面对象
Page page = TemplateHandler.Page.build();
// 创建组件对象
Text text = TemplateHandler.Text.build().setText("hello world");
// 添加组件
page.addBodyComponent(text);
// 添加页面
document.addPage(page);
// 转换文档
document.transform(outputPath);