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

如何在 Java 中拆分 PDF 文件

本文將在Java中使用IronPDF將PDF文件從一個來源PDF文件中分割。

IronPDF Java PDF程式庫

IronPDF for Java 是一個優先考慮準確性、易用性和速度的Java程式庫。 它專為Java設計,使用起來輕鬆方便,尤其是在處理PDF文件時。 它繼承了來自經過廣泛建立的.Net Framework之IronPDF Library的所有功能。 這使得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專案構建的重要工具。 如果您尚未安裝,請從Apache Maven網站下載Maven。
  3. IronPDF Java程式庫: 現在您需要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

現在,使用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)方法來開啟一個現有的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

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

第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文件分割成多個PDF文件。

IronPDF讓開發人員在處理Java中的PDF文件時的生活變得更加輕鬆。 無論您是想創建新的文檔還是處理現有的PDF文檔,IronPDF都可以幾乎用一句程式碼來完成所有與PDF相關的工作。

您可以在生產中免費使用IronPDF,也可以採用靈活選項購買作為商業用途。 IronPDF Lite套件的起始價格為$799。

常見問題解答

如何在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 來說,工作令人滿意因為它被重視且有實際影響。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me