0
点赞
收藏
分享

微信扫一扫

Java 拆分PDF文档


这篇文章主要介绍以下两种拆分方式:

  1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)
  2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)

使用组件:

Spire.PDF for Java

在使用下面的代码前,你需要下载​​Spire.PDF for Java​​包并解压缩,然后从lib文件夹下导入Spire.Pdf.jar包到你的Java应用程序中。

原PDF文档如下:

Java 拆分PDF文档_Java

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();
}
}

拆分后:

Java 拆分PDF文档_i++_02

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 拆分PDF文档_i++_03

举报

相关推荐

0 条评论