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

如何在 Java 中拆分 PDF 文件

本文將使用 IronPDF 在 Java 中從源 PDF 文件中拆分 PDF 文件。

IronPDF Java PDF庫

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

IronPDF 為開發人員提供了將 PDF 文檔渲染為圖像和從 PDF 中提取文本和內容的方法。 Additionally, IronPDF is also capable of rendering charts within PDFs, applying watermarks to PDF files, working with PDF forms, and managing digital signatures programmatically.

拆分 PDF 文件的步驟

項目設置的先決條件

要使 IronPDF 在 Java Maven 項目中處理 PDF,您需要確保具備以下先決條件:

  1. JDK (Java Development Kit): 您的計算機必須運行當前版本的 Java 以及一個 IDE。如果還沒有,請從 Oracle 官網下載最新的 JDK。 使用任何 IDE,例如 NetBeans、Eclipse 或 IntelliJ。
  2. Maven: 為了管理項目和依賴關係,Maven 是專為 Java 項目構建的重要工具。 如果尚未安裝,請從 Apache Maven 官網下載 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

一旦您在拆分 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> [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 方法打開一個現有的 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方法從原始文檔中復制多個頁面:

// 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方法來拆分。 然後,將每個頁面保存到單獨的文件中。

class="competitors-section__wrapper">
class="competitors__card">

class="competitors__header">第 1 頁

第 1 頁
class="competitors__card">

class="competitors__header">第 2 頁

第 2 頁
class="competitors__card">

class="competitors__header">第 3 頁

第 3 頁
class="competitors__card">

class="competitors__header">第 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 程序如何打開現有 PDF 文檔並使用IronPDF Library將一個 PDF 文件拆分為多個 PDF。

IronPDF 在 Java 中處理 PDF 文件時讓開發人員的工作變得更加簡單。 無論您是想創建新文檔還是處理現有的 PDF 文檔,IronPDF 幾乎可以用一行代碼來完成所有與 PDF 相關的任務。

You can use IronPDF in production for free, and it can be licensed for commercial use with flexible options. IronPDF Lite 套件起售價為$799。

常見問題解答

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

使用 IronPDF 在 Java 中,您可以利用 copyPage 方法創建單獨的頁面作為單獨的 PDF 文檔,而不丟失格式。

設置 Java 項目以拆分 PDF 的步驟是什麼?

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

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

可以,使用 IronPDF 的 copyPages 方法,您可以通過指定頁面範圍輕鬆拆分 PDF 以在 Java 中創建單獨的 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 项目中。

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

IronPDF 通過提供易於使用的方法如 copyPagecopyPages,簡化了 Java 中的 PDF 拆分過程,確保高效的 PDF 管理,並且不喪失文檔格式。

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

是的,IronPDF 提供靈活的商業使用許可選項,並有一個免費版本可用於生產,這對於開發和測試目的來說是理想的。

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

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

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

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