美文网首页
Java 合并、拆分PDF文档

Java 合并、拆分PDF文档

作者: Tina_Tang | 来源:发表于2020-01-21 13:35 被阅读0次

       随着PDF文档在日常工作学习中的运用越来越广泛,为了便于更好地储存和管理文档,不可避免地会遇到将多个PDF文档合为一个文档,或将一个PDF文档拆分成若干个文档的操作。本文就将详细介绍如何使用Java程序来对PDF文档进行合并及拆分。

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

Jar文件获取及导入:

方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)

方法2:通过maven仓库安装导入。具体安装详解参见此网页

【示例1】合并PDF文档

方法1加载三个独立的PDF文档,然后将第二、第三个PDF文档中的数据插入到第一个文档。

import com.spire.pdf.PdfDocument;

public class MergeDocument {    

public static void main(String[] args) {        

String[] files = new String[]                {

"C:\\Users\\Test1\\Desktop\\Sample1.pdf",                         "C:\\Users\\Test1\\Desktop\\Sample2.pdf",                         "C:\\Users\\Test1\\Desktop\\Sample3.pdf",                 };        

String outputFile = "output/MergeDocument.pdf";        

//创建PDFDocument示例并加载三个示例文档        

PdfDocument[] docs = new PdfDocument[files.length];        

PdfDocument doc = new PdfDocument();        

for (int i = 0; i < files.length; i++) {            

docs[i] = new PdfDocument();            

docs[i].loadFromFile(files[i]);         }        

//添加第一页并写入第一个示例文档的数据        

docs[0].appendPage(docs[1]);        

//将另外两个文档的数据插入新的页面        

for (int i = 0; i < docs[2].getPages().getCount(); i = i + 2) {             docs[0].insertPage(docs[2], i);         }        

// 保存文档        

docs[0].saveToFile(outputFile);        

doc.close();    

}

}

方法2通过流的方式加载三个示例文档,并使用 mergeFiles(streams)方法将多个PDF文档合并为一个PDF文档。

import com.spire.pdf.*;

import java.io.*;

public class MergeFilesByStream {    

public static void main(String[] args) throws FileNotFoundException {        

String outputFile = "output/mergeFilesByStream.pdf";        

FileInputStream stream1 = new FileInputStream(new File("C:\\Users\\Test1\\Desktop\\Sample1.pdf"));        

FileInputStream stream2 = new FileInputStream(new File("C:\\Users\\Test1\\Desktop\\Sample2.pdf"));        

FileInputStream stream3 = new FileInputStream(new File("C:\\Users\\Test1\\Desktop\\Sample3.pdf"));        

//加载PDF示例文档        

InputStream[] streams = new FileInputStream[]{stream1, stream2, stream3};        

//合并PDF文档        

PdfDocumentBase doc = PdfDocument.mergeFiles(streams);        

//保存文档        

doc.save(outputFile);        

doc.close();    

}

}

文档合并效果:

【示例2】拆分PDF文档

原PDF文档如下:

方式1将一个PDF文档均分为多个PDF(每个PDF包含1页)。

import com.spire.pdf.*;

public class SplitFile {    

public static void main(String[] args) {        

//加载PDF文档        

PdfDocument doc = new PdfDocument();         doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");        

//拆分为多个PDF文档        

doc.split("output/splitDocument-{0}.pdf", 0);        

doc.close();    

}

}

文档拆分效果:

方式2:将一个PDF文档拆分为2个或多个PDF每个PDF可包含不同的页数)。

以下代码将原PDF文档的第1-4页拆分一个PDF文档,第5-9页拆分为另一个PDF文档:

import com.spire.pdf.*;

import com.spire.pdf.graphics.PdfMargins;

import java.awt.geom.Point2D;

public class SplitFile2 {    

public static void main(String[] args) {        

//加载PDF文档        

PdfDocument doc = new PdfDocument();         doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");        

//新建一个PDF文档        

PdfDocument newDoc1 = new PdfDocument();        

PdfPageBase page;        

//将原PDF文档的第1页到3页页添加至新建的PDF        

for(int i = 0;i<4;i++)        

{ page = newDoc1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));         doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));         }         

//保存文档        

newDoc1.saveToFile("output/SplitDoc1.pdf");        

//新建另一个PDF文档         

PdfDocument newDoc2 = new PdfDocument();        

//将原PDF文档的第4至9页添加至新建的PDF        

for(int i = 4;i<9;i++)        

{ page = newDoc2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));         doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));         }        

//保存文档        

newDoc2.saveToFile("output/SplitDoc2.pdf");    

}

}

文档拆分效果:

(本文完)

相关文章

  • Java 合并、拆分PDF文档

    随着PDF文档在日常工作学习中的运用越来越广泛,为了便于更好地储存和管理文档,不可避免地会遇到将多个PDF文...

  • Java 复制、压缩PDF文档

    在日常办公中,掌握对PDF文档的操作能力尤为重要。在前文中我使用Java程序来演示过如何合并和拆分PDF文档。本文...

  • 如何把pdf拆分合并?明白告诉你!

    如何把pdf拆分合并?拆分pdf文件,一是指将pdf文件拆分成多个文件,也就是提取文档中的部分页面,做为新文...

  • PDF办公技巧:怎么拆分PDF文档

    怎么拆分PDF文档呢?我们想要将一个PDF文档拆分成多个PDF文档需要怎么操作呢?想要拆分PDF文档需要使用到专业...

  • PDF文档的拆分方法,这个方法你了解吗?

    PDF文档的拆分方法你知道吗?现在PDF文档使用的较多,但是对于怎么拆分PDF文档还是不清楚,其实想要拆分PDF文...

  • Python处理PDF文档-拆分&合并

    使用Python处理PDF文档。将需要处理的PDF文档与处理程序放到一个新建的文件夹中。运行程序。 S模式,将单个...

  • Task04:Python与pdf

    python操作Pdf是办公自动化中很常用的,初级的pdf自动化包括pdf文档的拆分、合并、提取等操作,更高级的还...

  • Java 合并Word文档

    概述 在前文中,我写过如何使用Java程序来合并Excel及PDF文档的文章。那有关Word文档的合并方法将会在今...

  • 如何拆分PDF文档,一分钟学会拆分PDF文档

    如何拆分PDF文档呢?现在的办公人员使用PDF文档的比较多,但是很多人对于PDF文档怎么拆分就不是很了解,我们想要...

  • 如何合并、拆分、提取PDF文档页面

    在日常办公学习中,因为PDF文档不易修改、易于存储的优点,我们接触到的文档越来越多是PDF格式的。若遇到PDF文档...

网友评论

      本文标题:Java 合并、拆分PDF文档

      本文链接:https://www.haomeiwen.com/subject/tfhezctx.html