在辦公過程中,我們有時會遇到需要將一個比較大的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"); } }
拆分后: