千家信息网

Java如何合并、拆分PDF文档

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍Java如何合并、拆分PDF文档,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用工具:Free Spire.PDF for Java (免费版)Jar文件获取
千家信息网最后更新 2025年01月20日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安全错误 数据库的锁怎样保障安全 国家网络安全标准2.0 河北区网络安全和信息 android彩票软件开发 计算机软件开发者有署名权 车载网络技术经历的发展历程 数据库脱机进程名 什么样的云服务器好 软件开发好学还是检测好学 数据库在技术上的工作过程是 三级网络技术推荐 软件开发工资待遇排行榜 格尔木软件开发有限公司 美术宝软件开发者 开通一个服务器多少钱 linux从远程服务器拷贝东西 班级与学生信息的数据库er图 计算机网络技术包括哪些课程 中国网络安全认证机构有哪些 数据库中地址怎么拆分为省市 三级数据库技术第四章 牟平区定制软件开发哪家好 河北区网络安全和信息 足球数据库技术学校 泰韬网络技术 待遇 江苏北斗二代授时服务器时间同步 杭州浩际网络技术公司 河源市计算机网络安全协会 广州纵横网络技术有限公司 明杰网络技术服务 数据库项目开发流程
0