这篇文章主要介绍以下两种拆分方式:
- 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)
- 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)
使用组件:
Spire.PDF for Java
在使用下面的代码前,你需要下载Spire.PDF for Java包并解压缩,然后从lib文件夹下导入Spire.Pdf.jar包到你的Java应用程序中。
原PDF文档如下:
1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含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文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)
以下代码将原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");
}
}
拆分后:
标签:Java,doc,PdfDocument,new,文档,pdf,PDF From: https://blog.51cto.com/u_15926533/5988058