JavaアプリケーションでPDFファイルを分割する方法

10920 ワード

日常の作業では、我々は大きなPDFファイルを操作しているとき、我々は読書や編集を容易にするために複数の小さなファイルに分割することができます.今日、私は無料の尖塔を使用してPDFファイルを分割する2つの方法を紹介します.Java用PDFファイル.
1 . PDFのすべてのページを別のファイルに分割します.
2 . PDFの特定のページ範囲を複数のファイルに分割します.
インストール
方法1 : Free Spire.PDF for Javaをダウンロードして解凍します.その後、尖塔を追加します.PDFファイル.プロジェクトに依存するファイル.
方法2 : MavenプロジェクトにJAR依存を追加するには、POMに次の構成を追加します.XML
<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/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の各ページを別のファイルに分割します.
つの小さな文書に元のPDFファイルを分割
import com.spire.pdf.*;

public class SplitPDF {
    public static void main(String[] args)
    {

        //Load the PDF file
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("input1.pdf");

        //Split every page of the PDF into a separate file
        doc.split("output/splitDocument-{0}.pdf", 0);
        doc.close();
    }
}


参考例2 PDFの特定のページ範囲を複数のファイルに分割します
分割ページ1 - 2をPDFファイルに分割し、別のPDFファイルにページ3 - 5を分割します.
import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfMargins;

import java.awt.geom.Point2D;

public class SplitPDF {
    public static void main(String[] args)
    {

        //Load the PDF file
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("input1.pdf");

        //Create a new PDF file
        PdfDocument newDoc1 = new PdfDocument();

        PdfPageBase page;

        //Add 2 pages to the new PDF, and draw the content of page 1-2 of the original PDF to the newly added pages
        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));
        }

        //Save the result file
        newDoc1.saveToFile("split/Doc1.pdf");

        //Create a new PDF file
        PdfDocument newDoc2 = new PdfDocument();

        //Add 3 pages to the new PDF, and draw the content of page 3-5 of the original PDF to the newly added pages
        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));
        }

        //Save the result file
        newDoc2.saveToFile("split/Doc2.pdf");
    }
}