iText7 生成 PDF 免费入门:5 行代码出第一个文件,中文文档教程指路 📅 2026/8/22 2:08:44 iText7 生成 PDF 免费入门5 行代码出第一个文件中文文档教程指路【免费下载链接】itext7-in-mandariniText7文档的汉化版本项目地址: https://gitcode.com/gh_mirrors/it/itext7-in-mandariniText7 是一套免费的 Java PDF 工具库能创建、编辑、合并 PDF 和处理表单。这套 itext7-in-mandarin 仓库把 iText7 官方教程完整译成了中文还配了 40 多个可直接运行的 Java 示例新手不用啃英文文档也能跑通全流程。下面按装依赖 → 写最小代码 → 对号入座找功能的顺序讲。为什么用 iText7手写 PDF 有多痛苦PDF 格式规范有几百页裸写一个合法 PDF 文件要自己拼字节流、算偏移量错一位文件就废了。iText7 把这件事拆成了三层kernel底层直接读写 PDF 结构干活的是它layout高层提供Paragraph、Table、Image这些积木你往文档里放积木它负责排版io文件读写kernel 依赖它Maven 会帮你自动拉进来对 90% 的业务场景——生成发票、导出报表、填表单——你只需要 layout 层完全不用碰 PDF 规范。这套库从 2000 年的 iText 演进到 2016 年的 iText7最大的改进就是布局引擎重写了比老版本的 ColumnText 快很多也能撑住复杂版面。Maven 加一个依赖5 行代码出第一个 PDF在 pom.xml 里加这一条就够了itext7-core会自动把 kernel、io、layout 等基础模块都带进来dependency groupIdcom.itextpdf/groupId artifactIditext7-core/artifactId version7.1.15/version /dependency然后跑这段最小示例。注意最后那行close()它是把内容真正写入文件的动作漏掉会得到一个 0 字节的空壳import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class Hello { public static void main(String[] args) throws Exception { PdfWriter writer new PdfWriter(hello.pdf); PdfDocument pdf new PdfDocument(writer); Document doc new Document(pdf); doc.add(new Paragraph(Hello World!)); doc.close(); // 必须关闭PDF 内容才落盘 } }想动手验证的话把整套教程和示例拉下来直接跑git clone https://gitcode.com/gh_mirrors/it/itext7-in-mandarin仓库里guide目录下是逐章翻译的教程加配套代码guide2/examples下按章节拆成了 7 个 IDEA 工程打开就能跑。上手 iText7 先踩的 4 个坑中文字体不配 中文全变方块。默认字体不含中文字形要额外加font-asian模块或自带 TTF 字体文件才能正常显示中文、日文、韩文。仓库里的 C01E05_Czech_Russian_Korean_Right.java 就演示了多语言字体的正确配法。商用项目必须拿商业密钥。核心模块是 AGPL 协议个人学习和内部用没问题一旦要和你的专有代码一起分发或交付给客户就需要申请 iText 商业许可证密钥否则会触发 AGPL 的开源义务。这条别等到上线前才想起来。模块版本要锁一致。单独引 kernel、layout 时所有模块版本号必须相同混版本会报找不到类。用itext7-core一把梭就避开了这个问题。写完不 close 等于没写。PDF 是流式生成的内容在关闭时才序列化。写 Web 服务时建议包 try-with-resources 或在 finally 里关闭异常路径也要兜住。从发票到归档7 类实战场景对应哪一章仓库的guide目录按功能拆了 7 章下面这张表帮你直接跳到需要的地方每章都有配套 Java 示例代码你想做的事对应章节典型示例文本、列表、表格排版chapter1C01E03_QuickBrownFox.java按坐标画线和图形画布、印章chapter2C02E04_StarWarsCrawl.java多栏新闻版式、页眉页脚chapter3C03E01_NewYorkTimes.java批注、超链接、创建和填写 AcroForm 表单chapter4C04E03_CreateAndFill.java编辑已有 PDF加内容、改页面chapter5C05E01_AddAnnotationsAndContent.java合并文档、缩放平铺、合并时保留表单chapter6C06E04_88th_Oscar_Combine.java生成 PDF/A、PDF/UA 归档文档chapter7C07E01_QuickBrownFox_PDFUA.java另外还有个高频场景HTML 转 PDF。它由独立插件 pdfHTML 完成仓库的pdfHTML目录收录了该插件的中文教程报表后台浏览器里渲染好、服务端转成 PDF 附件这类需求走这条路最省事。再往上想深挖某个类的设计原理buildingblocks目录是进阶读物专门拆解 iText 内部各个构建块第一章的 10 个示例覆盖了字体、加粗斜体、颜色、样式复用这些最常用的排版 API。教程怎么读guide 和 guide2 选哪个两个目录结构相同区别在于代码组织方式guide/教程正文加零散示例代码适合边读边抄guide2/examples/按章节拆成 iText1 到 iText7 七个 IDEA 工程每个工程带独立 pom.xml导入后整章示例一次性跑通适合想全部动手验证的人建议路径先读guide/beforeStart装环境和guide/tutorial背景介绍然后直接跳到 chapter1 跑 Hello World剩下章节按你的业务需求挑着读不用顺序刷完。下一步打开guide2/examples/iText1工程跑一遍 C01E01_HelloWorld.java看到results/chapter01/hello_world.pdf生成后这套工具就算真正装进你工具箱了。【免费下载链接】itext7-in-mandariniText7文档的汉化版本项目地址: https://gitcode.com/gh_mirrors/it/itext7-in-mandarin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考