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

如何在 Java 中拆分 PDF 文件

本文將使用 Java 中的 IronPDF 從來源 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 函式庫:現在您需要 IronPDF Java 函式庫。 您可以透過在專案的pom.xml檔案中新增以下依賴項來實現這一點。 Maven 將自動下載並將其安裝到專案中。

    <dependency&gt;
        <groupId&gt;com.ironpdf</groupId&gt;
        <artifactId&gt;ironpdf</artifactId&gt;
        <version&gt;1.0.0</version&gt;
    </dependency&gt;
    <dependency&gt;
        <groupId&gt;com.ironpdf</groupId&gt;
        <artifactId&gt;ironpdf</artifactId&gt;
        <version&gt;1.0.0</version&gt;
    </dependency&gt;
    XML
  4. 另一個必需的依賴項是 SLF4J。 在pom.xml檔中加入 SLF4J 依賴項。

    <dependency&gt;
        <groupId&gt;org.slf4j</groupId&gt;
        <artifactId&gt;slf4j-simple</artifactId&gt;
        <version&gt;2.0.3</version&gt;
    </dependency&gt;
    <dependency&gt;
        <groupId&gt;org.slf4j</groupId&gt;
        <artifactId&gt;slf4j-simple</artifactId&gt;
        <version&gt;2.0.3</version&gt;
    </dependency&gt;
    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

現在,在Main方法中使用 IronPDF setLicenseKey()方法設定您的許可證金鑰:

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&gt; [PDF With Multiple Pages] </p&gt;"
        + "<p&gt; 1st Page </p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 2nd Page</p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 3rd Page</p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 4th Page</p&gt;";

// 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&gt; [PDF With Multiple Pages] </p&gt;"
        + "<p&gt; 1st Page </p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 2nd Page</p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 3rd Page</p&gt;"
        + "<div style='page-break-after: always;'&gt;</div&gt;"
        + "<p&gt; 4th Page</p&gt;";

// 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 檔案的程式碼很簡單。 只需使用[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

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

<div class="competitors-sectionwrapper"> <div class="competitorscard"> <p class="competitorsheader">第 1 頁</p> <img class="competitorsimage img-popup" src="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-2.webp" alt="第 1 頁" data-fullsize="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-2.webp" > </div> <div class="competitorscard"> <p class="competitorsheader">第2頁</p> <img class="competitorsimage img-popup" src="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-3.webp" alt="第2頁" data-fullsize="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-3.webp" > </div> <div class="competitorscard"> <p class="competitorsheader">第3頁</p> <img class="competitorsimage img-popup" src="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-4.webp" alt="第3頁" data-fullsize="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-4.webp" > </div> <div class="competitorscard"> <p class="competitorsheader">第4頁</p> <img class="competitors__image img-popup" src="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-5.webp" alt="第4頁" data-fullsize="/static-assets/pdf/blog/split-pdf-java-tutorial/split-pdf-java-tutorial-5.webp" > </div> </div>

[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&gt; [PDF With Multiple Pages] </p&gt;"
                + "<p&gt; 1st Page </p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 2nd Page</p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 3rd Page</p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 4th Page</p&gt;";

        // 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&gt; [PDF With Multiple Pages] </p&gt;"
                + "<p&gt; 1st Page </p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 2nd Page</p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 3rd Page</p&gt;"
                + "<div style='page-break-after: always;'&gt;</div&gt;"
                + "<p&gt; 4th Page</p&gt;";

        // 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 軟體包起價為$799 。

常見問題解答

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

使用 IronPDF for Java,您可以利用 copyPage 方法分割 PDF 檔案,將個別頁面建立為獨立的 PDF 文件,而不會遺失格式。

建立分割 PDF 的 Java 專案的步驟為何?

若要使用 IronPDF 建立分割 PDF 的 Java 專案,請先確定您已安裝 JDK 與 Maven,然後將 IronPDF 列入 Maven 專案的相依性。導入必要的類別,例如 com.ironsoftware.ironpdf.PdfDocument.

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

是的,使用 IronPDF 的 copyPages 方法,您可以透過指定頁面的範圍,輕鬆地分割 PDF,以在 Java 中建立獨立的 PDF 文件。

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

IronPDF 允許您處理受密碼保護的 PDF,方法是提供密碼作為 fromFile 方法的參數,使您能夠存取並分割文件。

IronPDF 可否用於分割 PDF 以外的任務?

是的,IronPDF for Java 提供各種 PDF 處理功能,例如將 PDF 呈現為影像、擷取文字、管理數位簽章以及合併 PDF 文件。

如何將 IronPDF 加入 Java Maven 專案?

您可以在 pom.xml 檔案中加入 IronPDF 的 Maven 相依性,然後在 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 來說,工作令人滿意因為它被重視且有實際影響。