pdf 一站式解决方案
master分支将作为稳定版本发布,develop分支将会不定期进行更新,欢迎大家提供宝贵意见,QQ交流群:15018726
dromara x-easypdf是一个java语言简化处理pdf的框架,包含fop模块与pdfbox模块,fop模块以创建功能为主,基于xsl-fo模板生成pdf文档,以数据源的方式进行模板渲染;pdfbox模块以编辑功能为主,对标准的pdfbox进行扩展,添加了成吨的功能。
v3.5.5
jdk 1.8+
支持创建功能,基于 xsl-fo 模板生成 pdf 文档,以数据源的方式进行模板渲染。
- 基于模板生成
- 内置多种数据源(xml 数据源、thymeleaf 数据源、freemarker 数据源、jte 数据源、document 数据源)
- 提供面向对象的方式生成模板(document 数据源)
- 灵活的扩展性
支持创建与编辑功能,对标准的 pdfbox 进行扩展,添加了成吨的功能。
- 换行与分页:超出页面宽度自动换行,超出页面高度自动分页
- 中文支持:内置华为鸿蒙字体,天然支持中文文本
- 页眉页脚:内置页眉页脚,简单快捷
- 内置组件:内置多个组件,包含文本、图像、条形码、表格、矩形、圆形、线条
- 内置水印:支持文本水印与图像水印
- 文档分析:支持文本分析、图像分析、书签分析、评论分析、表单分析
- 文档比较:支持文本比较与图像比较
- 文档提取:支持文本提取、图像提取、书签提取、评论提取、表单提取
- 文档解析:支持 AI 解析文档内容,适配智谱(glm)、腾讯(hunyuan)、阿里(qwen)、字节跳动(doubao)、月之暗面(kimi)、深度求索(deepseek)、昆仑万维(tiangong)、科大讯飞(spark)、开源中国(gitee)等大模型
- 文档处理:支持合并处理、拆分处理、渲染处理、页面处理、元数据处理、打印处理、替换处理、书签处理、评论处理、附件处理、线性化处理、表单处理、签名处理
- 文件转换:支持 office 文件转 pdf 、 html 转 pdf 、图像转 pdf
- 模板引擎:支持 html 模板渲染为 pdf , 适配 freemarker 、thymeleaf 、jte 、 beetl 、 enjoy 、 velocity 等模板引擎
- 支持自定义组件与扩展
<dependency>
<groupId>org.dromara</groupId>
<artifactId>x-easypdf</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>x-easypdf-pdfbox</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>x-easypdf-fop</artifactId>
<version>3.5.5</version>
</dependency>
mvn clean install// 创建文档
Document document = PdfHandler.getDocumentHandler().create();
// 设置使用字体
document.setFontName("微软雅黑");
// 创建页面
Page page = new Page(document);
// 创建文本域
Textarea textarea = new Textarea(page);
// 设置文本
textarea.setText("Hello World!");
// 渲染文本
textarea.render();
// 添加页面
document.appendPage(page);
// 保存文档
document.save("E:\\PDF\\pdfbox\\document\\hello-world.pdf");
// 关闭文档
document.close();
// 创建文档
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("E:\\PDF\\fop\\document\\hello-world.pdf");
更多教程,请查看文档
为往圣继绝学,一个人或许能走的更快,但一群人会走的更远。
