iText7 中文教程十分钟上手,写出你的第一个 PDF
【免费下载链接】itext7-in-mandariniText7文档的汉化版本项目地址: https://gitcode.com/gh_mirrors/it/itext7-in-mandarin
业务上让你"把账单导成 PDF""批量出对账单",你会卡在两个地方:官方 iText7 教程全是英文还分散在各章,网上的示例版本又旧。itext7-in-mandarin 就是官方 iText7 教程的中文版——译文完整,配套示例可以直接跑。iText7 是 Java 的 PDF 生成与处理库,这个仓库让你用中文读懂原理、用可运行代码验证效果。
为什么先看中文版
- 章节完整:官方 Jump Start 7 章(构建块、底层内容、渲染事件、交互、修改文档、合并复用、PDF/A)外加 buildingblocks 进阶章。
- 示例可直接运行:guide2 目录是一套 IDEA Maven 工程,打开就能执行。
- 含 pdfHTML 篇:HTML/CSS 转 PDF 的插件用法也有中文教程,适合用 HTML 模板做发票的团队。
三步跑通第一个 PDF 🚀
依赖只加两个
官方教程的最小依赖集是两个,kernel 依赖 io,Maven 会自动带上:
<dependencies> <dependency> <groupId>com.itextpdf</groupId> <artifactId>kernel</artifactId> <version>7.0.4</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>layout</artifactId> <version>7.0.4</version> </dependency> </dependencies>forms、pdfa、font-asian 属于按需模块,用到再加。
五行代码生成 PDF
import com.itextpdf.kernel.pdf.*; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class HelloWorld { public static void main(String[] args) throws Exception { PdfWriter writer = new PdfWriter("hello.pdf"); // 底层负责写文件 PdfDocument pdf = new PdfDocument(writer); // 管理页面与内容 Document document = new Document(pdf); // 高级对象,只加元素 document.add(new Paragraph("Hello iText7!")); document.close(); } }关键是三层结构:PdfWriter 管底层写入,PdfDocument 管内容分配,Document 让你只关心往文档里加什么。
克隆仓库直接跑示例
不想自己搭工程,可直接拉这个仓库:
git clone https://gitcode.com/gh_mirrors/it/itext7-in-mandarin用 IDEA 打开guide2/examples/iText1,运行C01E01_HelloWorld,产物在 results 目录下。
典型场景:跟着示例走 📚
- 多栏排版:
guide2/examples/iText3的示例用 ColumnDocumentRenderer 排出报纸式三栏,改栏数即可复刻。 - PDF 交互与表单:guide 第四章覆盖注释、链接标注、表单填写与扁平化。
- 合并与归档:第六章合并多份文档,第七章输出 PDF/UA 与 PDF/A,适合长期存档。
新手常踩的三个坑 ⚠️
- License:iText7 核心是 AGPL,商用闭源项目需要商业授权密钥,发版前先确认法律条款。
- 中文字体:内置 14 种标准字体不含 CJK,输出中文要嵌入 TTF 字体并加 font-asian 模块,否则乱码。
- 版本对齐:示例对应 7.0.x 系列,升级依赖前先确认 API 有无变化,别盲目照抄。
下一步:打开guide2/examples/iText3运行C03E01_NewYorkTimes,等那份三栏 PDF 跑出来,布局模块你就掌握了,比啃文档快得多。
【免费下载链接】itext7-in-mandariniText7文档的汉化版本项目地址: https://gitcode.com/gh_mirrors/it/itext7-in-mandarin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考