<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>IText - tag - 沐木</title><link>https://oldletter.cn/tags/itext/</link><description>IText - tag - 沐木</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 15 Jun 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://oldletter.cn/tags/itext/" rel="self" type="application/rss+xml"/><item><title>PDF 模板生成实战：iText 5.x/9.x 方案对比与开源替代</title><link>https://oldletter.cn/posts/java-03-pdf-template/</link><pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate><author>mumu</author><guid>https://oldletter.cn/posts/java-03-pdf-template/</guid><description><![CDATA[<blockquote>
<p>📅 2026-05-15 | 🏷️ Java, PDF, iText, OpenPDF, PDFBox | 📖 阅读约 15 分钟</p></blockquote>
<h2 id="一背景与问题">一、背景与问题</h2>
<p>在企业级应用中，大量业务文档需要模板化生成：保单、合同、告知书、发票、审批单……这些文档有三个共同特征：</p>
<ol>
<li><strong>格式固定</strong> — 排版、字体、Logo 位置都是确定的</li>
<li><strong>内容动态</strong> — 姓名、金额、日期等字段每次不同</li>
<li><strong>批量生产</strong> — 高峰期可能一次生成数千份</li>
</ol>
<p>常见做法是：<strong>先用 Word 制作模板 → 用 Java 填充数据 → 输出 PDF</strong>。</p>
<p>本文对比两种主流方案，给出完整代码和踩坑记录。</p>
<div class="details admonition note open">
    <div class="details-summary admonition-title">
        <i class="icon far fa-pen-to-square" aria-hidden="true"></i>A4 页面尺寸公式<i class="details-icon fas fa-angle-right" aria-hidden="true"></i>
    </div>
    <div class="details-content">
        <div class="admonition-content"><p>PDF 中常用的 A4 页面尺寸为 210mm × 297mm。在 iText 中使用 point（磅）为单位，换算关系：1 inch = 72 pt = 25.4 mm。</p>
<p>因此 A4 的磅值为：宽 595.28 pt，高 841.89 pt。</p>]]></description></item></channel></rss>