模式介绍
大约 2 分钟对象模式
介绍
说明
本模式为 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);