Java生成PDF文件

技术指南与实战代码示例

在企业级应用开发中,将数据导出为PDF格式是一项常见需求。本文将介绍使用Java生成PDF文件的主流方案、核心库以及实际代码示例。

无论你是需要生成报表、合同还是发票,掌握这些技术都能帮你高效完成任务。

常用Java PDF库

iText

功能强大且成熟的PDF生成库,支持复杂的布局、表格、字体嵌入和加密等功能。

注意:iText 7及以上版本对商业用途有许可证限制。

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.3</version>
</dependency>

Apache PDFBox

Apache开源项目,免费用于商业用途,适合创建、操作和打印PDF文档。

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.27</version>
</dependency>

OpenPDF

iText 2.1.7的社区维护分支,MIT许可证,可自由用于商业项目。

<dependency>
    <groupId>com.github.librepdf</groupId>
    <artifactId>openpdf</artifactId>
    <version>1.3.30</version>
</dependency>

使用iText生成PDF示例

以下是一个简单的Java程序,使用iText生成包含文本的PDF文件:

import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileOutputStream;

public class PdfGenerator {
    public static void main(String[] args) {
        try {
            // 创建文档对象
            Document document = new Document();
            
            // 创建PdfWriter实例
            PdfWriter.getInstance(document, new FileOutputStream("sample.pdf"));
            
            // 打开文档
            document.open();
            
            // 添加内容
            document.add(new Paragraph("Hello, 这是由Java生成的PDF文件!"));
            document.add(new Paragraph("当前时间: " + new java.util.Date()));
            
            // 关闭文档
            document.close();
            
            System.out.println("PDF文件已生成: sample.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用Apache PDFBox生成PDF

使用PDFBox创建简单PDF的示例:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class PdfBoxExample {
    public static void main(String[] args) {
        try (PDDocument document = new PDDocument()) {
            PDPage page = new PDPage();
            document.addPage(page);

            try (PDPageContentStream contentStream = new PDPageContentStream(document, page)) {
                contentStream.beginText();
                contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
                contentStream.newLineAtOffset(100, 700);
                contentStream.showText("使用Apache PDFBox生成的PDF");
                contentStream.endText();
            }

            document.save("pdfbox_sample.pdf");
            System.out.println("PDF已保存: pdfbox_sample.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

选择建议

解锁18rdeepseek:深入探索AI大模型的技术前沿 本地部署DeepSeek模型完整配置指南 华为平板虚拟机安装Windows系统完全指南 - 手把手教程与工具推荐 WPS软件怎么压缩文件?详细操作教程 - 一站式办公技巧 Word文字底色怎么设置?详细图文教程 Word文件图标变白但能打开?快速修复方法 - 文件图标异常解决方案 幕布可以导出Word文档吗?详细操作步骤指南 目前能玩游戏的Windows系统平板推荐 - 移动游戏新选择 Windows系统最简单安装教程 - 新手也能轻松搞定 Word文档怎么把公章?详细操作教程 - 一条龙网络 Windows系统安装无法完成怎么办?常见问题与解决方法 电脑怎么安装Word文档?详细图文安装教程 - 一站式指南 Word文档打不出字?一文解决所有输入问题 - 故障排查与修复指南 Word左上角文件不见了?内容显示在另一张纸?原因与解决方法 Word文字怎么往左调一点?5种简单方法详解 Word文档空格后字不见了?原因与解决方法全解析 小米平板4刷Windows系统完整教程 | 从安卓到Windows的改装指南 PDF文件过大如何减小?5种简单方法快速压缩PDF - 实用指南 Word文字间距太大怎么调?多种方法快速解决 Word怎么画箭头 - 教程指南 平板下载Windows系统免费 - 安全可靠的安装指南 手机如何安装Windows系统?技术指南与可行性分析 怎么给安卓手机装Windows系统?可行性与操作指南 平板电脑免费装Windows系统 - 教程与指南 怎么合并PDF文件?5种简单方法快速合并PDF文档 Word文档怎么设置多页?详细图文教程 - 一条龙网络 华为平板安装Windows系统教程 - 完整步骤与注意事项 华为服务器安装Windows系统详细图文教程 Windows系统一键恢复初始状态 - 完整指南与操作教程 Word文件对比工具 - 在线免费文档差异比对 手机怎么下载Windows系统?详细方法与注意事项 Deepseek知识库搭建指南 - 构建智能知识管理体系 扫描文件转Word步骤详解 - 一键将图片/PDF扫描件转为可编辑文档 Word文档撤销快捷键 - 快速掌握CTRL+Z高效编辑技巧 如何调整Word表格中的文字行间距 - 详细图文教程 高考试卷下载Word文档 - 历年高考真题免费下载 DeepSeek兼职挣钱指南 - 掌握AI时代副业新机遇 Word文档怎么添加目录?图文详解自动生成目录方法 Word文档一打开就是审阅模式?原因与解决方法全解析 PPT怎么样转换成Word文档?5种实用方法详解 PDF转Word - 免费在线将PDF转换为可编辑的Word文档 DeepSeek生成Word文档完整指南 - 高效AI文档创作教程 如何在手机上安装Windows系统到U盘 - 详细图文教程 Word文档横线怎么删除?最全删除方法教程 怎么把Word文档KB变大?5种简单有效的方法 - 实用办公技巧 Word头粗尾细渐变箭头制作教程 - 简单易学的办公技巧 Word文档怎么整页删除?多种方法详解 Deepseek功能全面介绍 - 探索先进大模型的强大能力 Windows系统更新后无法连接网络?快速解决方法大全 怎么创建Markdown文件 - 初学者入门指南 Word文档删除空白行完全指南 - 高效清理文档空白行的多种方法 使用DeepSeek写视频脚本 - AI高效创作指南 Word文档如何查找错别字 - 详细操作指南 Word文字下方颜色效果专题 - 简单实现文字底色样式 8英寸Windows系统平板电脑专题 - 便携高效的移动办公选择 Word邮件合并完全指南:高效批量处理邮件与信函 Windows系统哪个最好用?全面对比Win7/10/11优缺点 Word文档批量调整图片大小 - 高效批量处理图片尺寸指南 华为Windows系统笔记本电脑多功能专题页 Windows系统如何安装旧版系统 - 详细图文教程 8英寸Windows系统平板电脑专题 - 便携高效的二合一设备 PPT中可以嵌入Word文档吗?详细操作方法与技巧 原版Windows系统安装视频教程 - 详细图文+视频指南 Word文档如何并列显示?详细操作方法大全 WPS文档怎么转换成Word文档?多种方法详解 Word文档比较:轻松对比两个文件内容差异 Word文档怎么变大页面?5种方法轻松调整页面显示大小 Word换行快捷键(Shift+Enter)使用指南 - 强制换行技巧 Word怎么添加底纹背景?详细图文教程步骤 扫描件转Word文档 - 简单高效的转换方法与工具 Windows系统在哪儿下载软件?安全可靠的软件获取指南 Word文档每页下面有空白?快速解决方法 - 文档排版技巧 Word文档怎么复制整页?详细操作方法教程 Java实现Word转PDF文件(高效不失真) - 详细教程与代码示例 手机可以下载Windows系统吗?技术解析与实现可能 - 科技专题 Word一分三箭头怎么画 - 图文教程 手机WPS怎么压缩文件?详细操作步骤图文教程 md文件怎么打开 - 详细指南与实用方法 Word文字中间加一条横线 - 实用方法大全 Word文档打字时后面字往后移?原因与解决方法详解 Windows系统蓝牙在哪里打开?详细图文教程 Word文档太大怎么缩小?5个简单方法快速压缩文件体积 AI绘图工具Deepseek正式上线 - 开启智能创作新时代 deepsleep新版本发布 - 全新体验深度睡眠科技 Windows系统多久重装一次?最佳重装周期与建议 Windows系统下载手机版 - 官方信息与资源指南 Word文件太大如何缩小?5种简单有效的方法 Windows系统笔记本电脑专题 - 选购指南与使用技巧 Word邮件在哪里?详解Word邮件功能位置与使用方法 Word文档压缩方法大全 | 快速减小文件体积的实用技巧 DeepSeek可以看小说吗?揭秘AI阅读能力 - 专题页面 平板电脑Windows系统装安卓系统:详细教程与注意事项 苹果系统一键装Windows系统 - 完整教程与工具指南 Windows系统自带浏览器怎么下载 - 完整指南 Word如何一键接受所有修订 - 快速完成文档审阅 PDF合并成一个文件 - 免费在线合并PDF文档工具 免费PDF文件对比软件推荐 | 快速准确比较PDF差异 Word文字怎么上下对齐?详细教程与技巧 - 排版指南 Word历史保存文件去哪里找?一文教你找回丢失的文档 刚装的Windows系统没有声音?一文解决常见音频问题