千家信息网

Java如何合并、拆分PDF文档

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍Java如何合并、拆分PDF文档,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用工具:Free Spire.PDF for Java (免费版)Jar文件获取
千家信息网最后更新 2026年11月01日Java如何合并、拆分PDF文档

这篇文章主要介绍Java如何合并、拆分PDF文档,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

使用工具:Free Spire.PDF for Java (免费版)

Jar文件获取及导入:

方法1:通过官网下载包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序。

方法2:可通过maven仓库安装导入到maven项目。

Java 代码示例

一、合并

1. 合并PDF文档

import com.spire.pdf.*;import java.io.*; public class Merge2 {     public static void main(String[] args) throws Exception {                 String outputFile = "output/mergeFilesByStream.pdf";        FileInputStream stream1 = new FileInputStream(new File("sample1.pdf"));        FileInputStream stream2 = new FileInputStream(new File("sample2.pdf"));        FileInputStream stream3 = new FileInputStream(new File("sample3.pdf"));        //加载PDF示例文档        InputStream[] streams = new FileInputStream[]{stream1, stream2, stream3};         //合并PDF文档        PdfDocumentBase doc = PdfDocument.mergeFiles(streams);         //保存文档        doc.save(outputFile);        doc.close();    }}

合并前:

合并后:

2. 合并PDF页面

import com.spire.pdf.*; import com.spire.pdf.graphics.PdfBlendMode; import com.spire.pdf.graphics.PdfTemplate;  import java.awt.geom.Point2D;  public class MergePages {     public static void main(String[] args) {         //加载两个PDF文档         PdfDocument pdf1 = new PdfDocument();         pdf1.loadFromFile("test1.pdf");         PdfDocument pdf2 = new PdfDocument();         pdf2.loadFromFile("test2.pdf");          //根据pdf1的第一页绘制模板         PdfTemplate template = pdf1.getPages().get(0).createTemplate();          //获取pdf2的第二页         PdfPageBase page = pdf2.getPages().get(1);         //设置透明度和重叠样式         page.getCanvas().setTransparency(1f,1f, PdfBlendMode.Normal);          //将pdf1的第一页内容写入pdf2的第二页中的指定位置         page.getCanvas().drawTemplate(template,new Point2D.Float(0,350));          //保存pdf2         pdf2.saveToFile("MergePages.pdf",FileFormat.PDF);         pdf2.dispose();     } }

合并前:

合并后:

二、拆分

测试文档如下:

1. 按每一页拆分

import com.spire.pdf.*; public class SplitPDF1 {     public static void main(String[] args)     {     //加载需要拆分的PDF文档    PdfDocument doc = new PdfDocument();    doc.loadFromFile("test.pdf");     //调用方法split()将PDF文档按每一页拆分为单独的文档    doc.split("output/splitDocument-{0}.pdf", 0);    doc.close();     }}

拆分结果:

2. 按指定页数范围拆分

import com.spire.pdf.*;import com.spire.pdf.graphics.PdfMargins; import java.awt.geom.Point2D; public class SplitPDF2 {     public static void main(String[] args)    {         //加载需要拆分的PDF文档        PdfDocument doc = new PdfDocument();        doc.loadFromFile("test.pdf");         //新建第1个PDF文档1        PdfDocument newpdf1 = new PdfDocument();        PdfPageBase page;         //将原PDF文档的第1、2页拆分,并保存到newpdf1        for(int i = 0;i<2;i++)        {            page = newpdf1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));        }        newpdf1.saveToFile("split/result1.pdf");         //新建第2个PDF文档        PdfDocument newpdf2 = new PdfDocument();         //将原PDF文档的第3、4页拆分,并保存到newpdf2        for(int i = 2;i<4;i++)        {            page = newpdf2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));            doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));        }        newpdf2.saveToFile("split/result2.pdf");    }}

拆分结果:

以上是"Java如何合并、拆分PDF文档"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

文档 文件 内容 方法 示例 篇文章 结果 两个 仓库 代码 价值 位置 兴趣 小伙 小伙伴 工具 文件夹 更多 样式 模板 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 互联网和科技技术 互联网金融监管科技数据 A股互联网金融科技公司 互联网科技有限公司经营范围 科技互联网政务服务 互联网科技战争 互联网的科技创新 赫美联合互联网科技 北京三清互联网科技 深圳前海聚择互联网科技有限公司 呼和浩特新华互联网科技学院 开一家科技互联网公司需要多少钱 爱医互联网络科技 沐思想互联网科技有限公司 保山互联网科技靠谱吗 北京互联网科技类企业分布 美国五大互联网科技公司市值多少 广西泛欧互联网科技有限公司 黑龙江互联网科技公司 伟宏互联网科技 天下捷融互联网科技 互联网养老 桔豆科技 镁科技互联网资讯平台 随着互联网科技发展 受益于互联网科技的高速发展 阿大互联网科技有限公司 世界互联网领先科技成果获奖 互联网时代的科技公司 国大互联网教育科技有限公司薪资
0