首页 > Java > java教程 > 正文

Java 怎么操作 PDF?生成、合并、拆分全教程

冰川箭仙
发布: 2025-12-16 12:14:02
原创
894人浏览过
Java操作PDF首选Apache PDFBox,支持生成(含中文字体)、合并(保留格式但不自动合书签)和拆分(按页码提取)三大核心功能,代码简洁可直接运行。

java 怎么操作 pdf?生成、合并、拆分全教程

Java 操作 PDF 主要靠第三方库,最常用、最稳定的是 Apache PDFBox(开源免费、纯 Java、社区活跃),其次是 iText(功能强但 7.x 版本起采用 AGPL 协议,商用需授权)。下面用 PDFBox 为主,讲清生成、合并、拆分三大核心操作,代码简洁可直接运行。

生成 PDF:从空白文档写入文字和表格

PDFBox 不内置高级排版,适合生成结构简单、内容明确的 PDF(如报表、合同、凭证)。关键步骤:创建 PDDocument → 获取 PDPage → 用 PDPageContentStream 写内容。

  • 添加依赖(Maven):org.apache.pdfboxpdfbox2.0.29
  • 基础文字生成示例:

PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
try (PDPageContentStream cs = new PDPageContentStream(doc, page)) {
  cs.beginText();
  cs.setFont(PDType1Font.HELVETICA_BOLD, 14);
  cs.newLineAtOffset(50, 750);
  cs.showText("Hello, PDFBox!");
  cs.endText();
}
doc.save("hello.pdf");
doc.close();

⚠️ 注意:坐标原点在左下角,y 值越大越靠上;中文需加载支持中文字体(如 NotoSansCJKsc-Regular.otf),否则显示方块。

立即学习Java免费学习笔记(深入)”;

合并多个 PDF:按顺序拼成一个文件

适合生成多页报告、归档扫描件、组合合同附件。PDFBox 提供 PDDocument#copyPages() 和更便捷的 PDFMergerUtility

  • 推荐用 PDFMergerUtility(自动处理字体、资源、书签):

PDFMergerUtility merger = new PDFMergerUtility();
merger.addSource("a.pdf");
merger.addSource("b.pdf");
merger.addSource("c.pdf");
merger.setDestinationFileName("merged.pdf");
merger.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());

晓象AI资讯阅读神器
晓象AI资讯阅读神器

晓象-AI时代的资讯阅读神器

晓象AI资讯阅读神器 72
查看详情 晓象AI资讯阅读神器

✅ 合并后保留原始页面尺寸、旋转、表单域(非交互式字段);
❌ 不自动合并书签或图层(OCG),需手动处理。

拆分 PDF:按页码提取子文档

常见于批量导出单页发票、按章节分离手册、提取签名页。核心是遍历源文档的页面,复制到新文档。

  • 拆出第 1–3 页(含):

PDDocument src = PDDocument.load(new File("full.pdf"));
PDDocument target = new PDDocument();
for (int i = 0; i   PDPage page = src.getPage(i);
  target.addPage(page.copy()); // copy() 避免共享资源冲突
}
target.save("part1-3.pdf");
target.close();
src.close();

? 小技巧:用 Splitter 类可按固定页数自动切分(如每 5 页一个文件),适合大批量处理。

基本上就这些。生成重在字体与坐标控制,合并重在顺序与资源隔离,拆分重在页索引与页面复制。不复杂但容易忽略编码、内存释放和中文支持——跑通第一份 PDF 后,再加图片、水印、密码保护就顺了。

以上就是Java 怎么操作 PDF?生成、合并、拆分全教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号