在办公过程中,我们有时会遇到需要将一个比较大的PDF文档拆分成多个文档的情况, 今天这篇文章就将介绍两种使用Free Spire.PDF for Java来拆分PDF文档的方法。
方法一:将一个PDF文档均分为多个PDF(每个PDF包含1页)
方法二: 将一个PDF文档拆分为2个或多个PDF(每个PDF可包含不同的页数)
Jar包导入
方法一:下载Free Spire.PDF for Java包并解压缩,然后将lib文件夹下的Spire.Pdf.jar包作为依赖项导入到Java应用程序中
方法二:直接通过Maven仓库安装JAR包,配置pom.xml文件的代码如下:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>2.6.3</version> </dependency> </dependencies>
原PDF文档如下(包含5页):
【示例1】将原PDF文档均分为5个PDF文档,每个文档包含1页:
import com.spire.pdf.*; public class SplitPDF { public static void main(String[] args) { //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.loadFromFile("sample.pdf"); //拆分为多个PDF文档 doc.split("output/splitDocument-{0}.pdf", 0); doc.close(); } }
拆分后:
【示例2】将原PDF文档的第1-2页拆分一个PDF文档,第3-5页拆分为另一个PDF文档:
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfMargins; import java.awt.geom.Point2D; public class SplitPDF { public static void main(String[] args) { //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.loadFromFile("sample.pdf"); //新建一个PDF文档 PdfDocument newDoc1 = new PdfDocument(); PdfPageBase page; //将原PDF文档的第1、2页添加至新建的PDF for(int i = 0;i<2;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("split/Doc1.pdf"); //新建另一个PDF文档 PdfDocument newDoc2 = new PdfDocument(); //将原PDF文档的第3至5页添加至新建的PDF for(int i = 2;i<5;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("split/Doc2.pdf"); } }
拆分后: