Java 拆分 PDF 文檔


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

 

拆分后:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM