一个 C# 库,用流式代码以组件化方式生成 PDF 文档,无需 HTML 转 PDF。
- Star
- 5,169
- Fork
- 1,131
- 未关闭 Issue
- 64
- 最近提交
- 9天前
这是什么?
poi-tl(poi-template-language)根据 .docx 模板和数据模型生成新的 Word 文档。模板中的 {{name}} 等标签可替换为文本、图片、表格、列表或图表,生成结果保留模板中的字体、颜色和版面。
模板本身不含复杂逻辑,只使用标签。条件显示隐藏内容、遍历集合、循环表格行或列等都通过不同类型的标签实现。通过 RenderPolicy 插件接口,可以在文档任意位置执行自定义函数。可选插件支持代码高亮和 Markdown 转 Word,并支持 SpringEL 表达式。
当前 1.12.x 和 1.13.x 版本要求 JDK 1.8 及以上,并依赖 Apache POI 5.2.2 及以上。
核心功能
- 01可将文本、图片、表格、编号列表和图表渲染到 Word 模板中。
- 02支持条件显示和循环遍历,包括表格行与列的循环。
- 03生成的文档保留模板原有的样式。
- 04提供 RenderPolicy 插件接口,可为任意标签加入自定义逻辑。
- 05支持批注、附件、书签、超链接以及子模板嵌套。
适用场景
- 在 Java 后端基于 Word 模板生成合同、发票或报告。
- 在 Web 应用中导出由数据驱动的 Word 文档供用户下载。
- 根据业务数据生成包含动态表格和图表的 Word 文件。
快速上手
- 1
在项目中添加 poi-tl Maven 依赖(版本 1.12.2)
- 2
创建包含标签 {{title}} 的 Word 模板,然后在 Java 中编译、渲染并写出结果
使用前须知
- 需要 JDK 1.8+ 和 Apache POI 5.2.2+;使用较旧的 POI 版本会导致运行时错误。
标签
常见问题
- poi-tl 是什么?
- 基于 Apache POI 的 Java 模板引擎,用 Word 模板和数据生成 docx 文档。 poi-tl(poi-template-language)根据 .docx 模板和数据模型生成新的 Word 文档。模板中的 {{name}} 等标签可替换为文本、图片、表格、列表或图表,生成结果保留模板中的字体、颜色和版面。
- poi-tl 可以免费使用吗?用的什么许可证?
- poi-tl 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- poi-tl 还在维护吗?
- 活跃维护中。poi-tl 最近一次提交是在 2026年10月13日。
- poi-tl 适合用来做什么?
- 在 Java 后端基于 Word 模板生成合同、发票或报告。 在 Web 应用中导出由数据驱动的 Word 文档供用户下载。 根据业务数据生成包含动态表格和图表的 Word 文件。
- poi-tl 怎么安装和运行?
- 在项目中添加 poi-tl Maven 依赖(版本 1.12.2) 创建包含标签 {{title}} 的 Word 模板,然后在 Java 中编译、渲染并写出结果
- 在哪里获取 poi-tl?
- 源代码和安装说明在 GitHub 上:https://github.com/Sayi/poi-tl
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.4万772C#Other更新于 15小时前
一个 JavaScript 库和命令行工具,可将 .docx Word 文档转换为简洁的语义化 HTML。
6330673JavaScriptBSD-2-Clause更新于 6天前
常驻托盘的 Windows 工具,把剪贴板中的 Markdown 和 AI 对话内容转换后插入 Word、WPS 或 Excel。
5388321PythonAGPL-3.0更新于 12天前
一个 Claude Code skill,可将文件和网页转为 Markdown,并把 Markdown 排版成 HTML 或出版级 DOCX。
92098CSSMIT更新于 9天前
将 GitHub README、Markdown 和 Jupyter Notebook 转换为 Word、PDF、PPTX 等多种格式文档的 Python 工具。
23519PythonMIT更新于 2个月前