跳至頁尾內容
USING IRONPDF FOR JAVA

如何在 Java 中拆分 PDF 文件

這篇文章將使用IronPDF在Java中從來源PDF檔案中分割PDF檔案。

IronPDF Java PDF程式庫

IronPDF for Java 是一個Java程式庫,優先考慮準確性、易用性和速度。 它專為Java設計,當處理PDF文件時非常容易使用。 它繼承了久經考驗的.NET Framework的IronPDF程式庫中的所有功能。 這使得IronPDF for Java在各種情境下工作於PDF文件時是一個多功能的工具。

IronPDF提供開發者方法來將PDF文件渲染成圖像,並從PDF中提取文字和內容。 此外,IronPDF也能夠在PDF中渲染圖表將浮水印應用於PDF檔案,處理PDF表單,以及程式化管理數位簽名

分割PDF檔案的步驟

專案設置的先決條件

要讓IronPDF在Java Maven專案中與PDF一起工作,您需要確保擁有以下前提條件:

  1. JDK(Java開發工具包): 您必須在電腦上運行最新版本的Java,以及一個IDE。如果沒有,請從Oracle網站下載最新的JDK。 使用任何IDE,例如NetBeans、Eclipse或IntelliJ。
  2. Maven: 為了管理您的專案和依賴,Maven是一個專門為Java專案構建的重要工具。 如果您尚未安裝Maven,請從Apache Maven網站下載。
  3. IronPDF Java Library: 現在您需要IronPDF Java程式庫。 這可以通過將以下依賴項新增到專案的pom.xml文件中來完成。Maven會自動下載並安裝到專案中。

    <dependency>
        <groupId>com.ironpdf</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.ironpdf</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version>
    </dependency>
    XML
  4. 另一個需要的依賴項是SLF4J。 在pom.xml文件中新增SLF4J依賴項。

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.3</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.3</version>
    </dependency>
    XML

一旦所有內容都下載並安裝到您的Java程式的分割PDF檔案中,您就可以準備好使用IronPDF程式庫。

匯入類別

首先,在Java程式碼中匯入IronPDF所需類別。 在"Main.java"文件頂部新增以下程式碼:

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.License;

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.License;

import java.io.IOException;
import java.nio.file.Paths;
JAVA

現在,使用IronPDF Main方法中設置您的授權金鑰:

License.setLicenseKey("Your license key");
License.setLicenseKey("Your license key");
JAVA

建立或打開現有PDF文件

要將PDF文件分割為多個單頁文件,必須要麼建立一個具有多頁的PDF文件,要麼打開一個具有多頁的PDF文件。

下一個程式碼範例將建立一個四頁的PDF,可用於此演示。

// HTML content used to create a four-page PDF
String html = "<p> [PDF With Multiple Pages] </p>"
        + "<p> 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 2nd Page</p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 3rd Page</p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 4th Page</p>";

// Render HTML to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

// Save the PDF document
pdf.saveAs(Paths.get("assets/multiplePages.pdf"));
// HTML content used to create a four-page PDF
String html = "<p> [PDF With Multiple Pages] </p>"
        + "<p> 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 2nd Page</p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 3rd Page</p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> 4th Page</p>";

// Render HTML to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

// Save the PDF document
pdf.saveAs(Paths.get("assets/multiplePages.pdf"));
JAVA

PDF文件看起來像這樣:

如何在Java中分割PDF文件,圖1:使用IronPDF建立新的PDF 使用IronPDF建立新的PDF

打開PDF文件以分割

作為上一節的替代方法,下一個程式碼範例使用[PdfDocument.fromFile](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path)方法使用IronPDF打開一個現有的PDF文件。

// Open the existing PDF document
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf"));
// Open the existing PDF document
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf"));
JAVA

您也可以提供文件密碼作為第二個參數給[fromFile](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path)方法來打開受密碼保護的文件。

將PDF文件分割為多個PDF文件

要分割PDF文件,程式碼非常簡單。 只需使用[copyPage](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#copyPage(int)方法從原始文件中複製若干頁,如下所示:

// Take the first page
PdfDocument page1Doc = pdf.copyPage(0);
page1Doc.saveAs(Paths.get("assets/split1.pdf"));

// Take the second page
PdfDocument page2Doc = pdf.copyPage(1);
page2Doc.saveAs(Paths.get("assets/split2.pdf"));

// Take the third page
PdfDocument page3Doc = pdf.copyPage(2);
page3Doc.saveAs(Paths.get("assets/split3.pdf"));

// Take the fourth page
PdfDocument page4Doc = pdf.copyPage(3);
page4Doc.saveAs(Paths.get("assets/split4.pdf"));
// Take the first page
PdfDocument page1Doc = pdf.copyPage(0);
page1Doc.saveAs(Paths.get("assets/split1.pdf"));

// Take the second page
PdfDocument page2Doc = pdf.copyPage(1);
page2Doc.saveAs(Paths.get("assets/split2.pdf"));

// Take the third page
PdfDocument page3Doc = pdf.copyPage(2);
page3Doc.saveAs(Paths.get("assets/split3.pdf"));

// Take the fourth page
PdfDocument page4Doc = pdf.copyPage(3);
page4Doc.saveAs(Paths.get("assets/split4.pdf"));
JAVA

PDF文件通過將索引號作為參數傳遞給copyPage方法來分割。 然後,將每頁保存到一個單獨的文件中。

頁面 1

頁面 1

頁面 2

頁面 2

頁面 3

頁面 3

頁面 4

頁面 4

[copyPages](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#copyPages(int,int)方法還可以按頁範圍分割PDF。 下面,我們將範例PDF平均分成兩半。

// Copy the first two pages into a new PDF document
PdfDocument halfPages = pdf.copyPages(0, 1);
halfPages.saveAs(Paths.get("assets/halfPages.pdf"));

// Copy the last two pages into another PDF document
PdfDocument endPages = pdf.copyPages(2, 3);
endPages.saveAs(Paths.get("assets/endPages.pdf"));
// Copy the first two pages into a new PDF document
PdfDocument halfPages = pdf.copyPages(0, 1);
halfPages.saveAs(Paths.get("assets/halfPages.pdf"));

// Copy the last two pages into another PDF document
PdfDocument endPages = pdf.copyPages(2, 3);
endPages.saveAs(Paths.get("assets/endPages.pdf"));
JAVA

如何在Java中分割PDF文件,圖6:將PDF分成兩半 將PDF分成兩半

完整的程式碼範例如下所示:

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.License;

import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("Your license key");

        // HTML content to create a four-page PDF document
        String html = "<p> [PDF With Multiple Pages] </p>"
                + "<p> 1st Page </p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 2nd Page</p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 3rd Page</p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 4th Page</p>";

        // Render HTML to a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
        pdf.saveAs(Paths.get("assets/multiplePages.pdf"));

        // Open the existing PDF document
        pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf"));

        // Split each PDF page into separate documents
        PdfDocument page1Doc = pdf.copyPage(0);
        page1Doc.saveAs(Paths.get("assets/split1.pdf"));

        PdfDocument page2Doc = pdf.copyPage(1);
        page2Doc.saveAs(Paths.get("assets/split2.pdf"));

        PdfDocument page3Doc = pdf.copyPage(2);
        page3Doc.saveAs(Paths.get("assets/split3.pdf"));

        PdfDocument page4Doc = pdf.copyPage(3);
        page4Doc.saveAs(Paths.get("assets/split4.pdf"));

        // Split the PDF into two halves
        PdfDocument halfPages = pdf.copyPages(0, 1);
        halfPages.saveAs(Paths.get("assets/halfPages.pdf"));

        PdfDocument endPages = pdf.copyPages(2, 3);
        endPages.saveAs(Paths.get("assets/endPages.pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.License;

import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("Your license key");

        // HTML content to create a four-page PDF document
        String html = "<p> [PDF With Multiple Pages] </p>"
                + "<p> 1st Page </p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 2nd Page</p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 3rd Page</p>"
                + "<div style='page-break-after: always;'></div>"
                + "<p> 4th Page</p>";

        // Render HTML to a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
        pdf.saveAs(Paths.get("assets/multiplePages.pdf"));

        // Open the existing PDF document
        pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf"));

        // Split each PDF page into separate documents
        PdfDocument page1Doc = pdf.copyPage(0);
        page1Doc.saveAs(Paths.get("assets/split1.pdf"));

        PdfDocument page2Doc = pdf.copyPage(1);
        page2Doc.saveAs(Paths.get("assets/split2.pdf"));

        PdfDocument page3Doc = pdf.copyPage(2);
        page3Doc.saveAs(Paths.get("assets/split3.pdf"));

        PdfDocument page4Doc = pdf.copyPage(3);
        page4Doc.saveAs(Paths.get("assets/split4.pdf"));

        // Split the PDF into two halves
        PdfDocument halfPages = pdf.copyPages(0, 1);
        halfPages.saveAs(Paths.get("assets/halfPages.pdf"));

        PdfDocument endPages = pdf.copyPages(2, 3);
        endPages.saveAs(Paths.get("assets/endPages.pdf"));
    }
}
JAVA

IronPDF還可以輕鬆合併PDF文件

摘要

本文探討了Java程式如何打開現有的PDF文件並使用IronPDF程式庫將其分割為多個PDF。

IronPDF使開發者在Java中處理PDF文件時變得容易得多。 無論您想建立新文件還是處理現有PDF,IronPDF幾乎都可以用一行程式碼完成所有與PDF相關的任務。

您可以免費在生產中使用IronPDF,它可以通過靈活的選項授權用於商業用途。 IronPDF Lite套件從$999起售。

常見問題

如何在Java中拆分PDF文件而不丟失格式?

使用Java中的IronPDF,您可以使用copyPage方法將PDF文件拆分為單獨的PDF文件而不丟失格式。

設置Java專案以拆分PDF的步驟是什麼?

要設置使用IronPDF拆分PDF的Java專案,請確保已安裝JDK和Maven,然後在您的Maven專案中包含IronPDF作為依賴項。匯入必要的類,如com.ironsoftware.ironpdf.PdfDocument

是否可以在Java中按頁面範圍拆分PDF?

是的,使用IronPDF的copyPages方法,您可以輕鬆地指定頁面範圍,將PDF拆分為單獨的PDF文件。

當在Java中拆分時,如何處理受密碼保護的PDF?

IronPDF允許您通過將密碼作為參數提供給fromFile方法來處理受密碼保護的PDF,使您可以存取和拆分文件。

是否可以使用IronPDF完成其他任務,而不僅僅是拆分PDF?

是的,IronPDF for Java提供了多種PDF操作功能,如將PDF渲染為圖像、提取文字、管理數位簽名和合併PDF文件。

如何將IronPDF整合到Java Maven專案中?

您可以通過將IronPDF的Maven依賴項新增到pom.xml文件中,然後在Java程式碼中匯入必要的類來將IronPDF整合到Java Maven專案中。

使用IronPDF在Java中拆分PDF的好處是什麼?

IronPDF通過提供如copyPagecopyPages等易於使用的方法,簡化了在Java中拆分PDF的過程,確保在不丟失文件格式的情況下有效管理PDF。

IronPDF是否提供靈活的商業用途授權選項?

是的,IronPDF提供了靈活的商業用途授權選項,以及可用於生產的免費版本,這對於開發和測試非常理想。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話