跳過到頁腳內容
使用 IRONPDF FOR JAVA

如何在 Java 中拆分 PDF 文件

本文將使用 Java 中的IronPDF從來源 PDF 檔案中分割 PDF 子檔案。

IronPDF Java PDF 庫

IronPDF 適用於 Java是一個 Java 函式庫,它優先考慮準確性、易用性和速度。 它專為 Java 設計,在處理 PDF 文件時非常易於使用。 它繼承了成熟的IronPDF .NET Framework庫的所有功能。 這使得IronPDF 適用於 Java 成為在各種情況下處理 PDF 文件的多功能工具。

IronPDF為開發者提供了將 PDF 文件渲染成圖像以及從 PDF 中提取文字和內容的方法。 此外, IronPDF還能夠在 PDF 中渲染圖表向 PDF 文件添加浮水印、處理PDF 表單以及以程式管理數位簽名

分割 PDF 檔案的步驟

項目設定的前提條件

要讓IronPDF在 Java Maven專案中處理 PDF 文件,您需要確保具備以下先決條件:

  1. JDK(Java開發工具包):您的電腦上必須執行最新版本的Java以及整合開發環境(IDE)。如果沒有,請從Oracle網站下載最新的JDK。 可以使用任何整合開發環境,例如 NetBeans、Eclipse 或 IntelliJ。
  2. Maven: Maven是專為 Java 專案建置的重要工具,用於管理您的專案和相依性。 如果尚未安裝Maven ,請從Apache Maven網站下載。
  3. IronPDF Java 函式庫:現在您需要IronPDF Java 函式庫。 Maven可以透過在專案的 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

將所有元件下載並安裝到分割 PDF 檔案 Java 程式後,即可使用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 的setLicenseKey() 方法在 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 方法,透過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 方法來開啟受密碼保護的檔案。

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

分割 PDF 檔案的程式碼很簡單。 只需使用如下所示的方法[從](/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

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

第 1 頁

第 1 頁

第2頁

第2頁

第3頁

第3頁

第4頁

第4頁

copyPages 方法也可以依頁面範圍拆分 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 程式如何使用IronPDF庫開啟現有的 PDF 文件並將 PDF 文件拆分為多個 PDF 文件。

IronPDF讓開發人員在 Java 中處理 PDF 文件時變得輕鬆許多。 無論您是想建立新文檔還是處理現有的 PDF 文檔, IronPDF都能幫助您用幾乎一行程式碼完成所有與 PDF 相關的任務。

您可以免費在生產環境中使用IronPDF ,也可以透過靈活的選項獲得商業用途的許可。 IronPDF Lite軟體包從 $999 開始。

常見問題解答

如何在Java中分割PDF檔案而不遺失格式?

在 Java 中使用IronPDF ,您可以利用copyPage方法將 PDF 檔案拆分為單獨的頁面,而不會遺失格式,從而建立單獨的 PDF 文件。

如何設定用於分割 PDF 的 Java 專案?

若要設定使用IronPDF分割 PDF 的 Java 項目,請確保已安裝 JDK 和 Maven,然後將IronPDF作為依賴項新增至您的 Maven 專案中。導入必要的類,例如com.ironsoftware.ironpdf.PdfDocument

是否可以在 Java 中按頁面範圍分割 PDF 檔案?

是的,使用 IronPDF 的copyPages方法,您可以透過指定頁面範圍輕鬆地將 PDF 拆分為多個單獨的 PDF 文件(在 Java 中)。

在 Java 中分割 PDF 檔案時,如何處理受密碼保護的 PDF 檔案?

IronPDF允許您透過將密碼作為參數傳遞給fromFile方法來處理受密碼保護的 PDF 文件,從而允許您存取和分割文件。

IronPDF除了分割 PDF 文件外,還能用於其他任務嗎?

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

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

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

在 Java 中使用IronPDF分割 PDF 有什麼好處?

IronPDF透過提供copyPagecopyPages等易於使用的方法,簡化了 Java 中分割 PDF 的流程,確保高效的 PDF 管理,同時不會遺失文件格式。

IronPDF是否為商業用途提供靈活的許可選項?

是的, IronPDF為商業用途提供靈活的許可選項,同時也提供免費版本用於生產環境,非常適合開發和測試用途。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。

鋼鐵支援團隊

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