这篇文章将介绍如何使用Spire.PDF for Java拆分PDF文档。
本文主要介绍以下两种拆分方式:
- 将一个PDF文档均分为多个PDF(每个PDF包含1页)
- 将一个PDF文档拆分为2个或多个PDF(每个PDF可包含不同的页数)
原PDF文档如下:
将一个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();
}
}
拆分后:
将一个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");
}
}
拆分后: