如何在 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一起工作,您需要確保擁有以下前提條件:
- JDK(Java開發工具包): 您必須在電腦上運行最新版本的Java,以及一個IDE。如果沒有,請從Oracle網站下載最新的JDK。 使用任何IDE,例如NetBeans、Eclipse或IntelliJ。
- Maven: 為了管理您的專案和依賴,Maven是一個專門為Java專案構建的重要工具。 如果您尚未安裝Maven,請從Apache Maven網站下載。
-
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 -
另一個需要的依賴項是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;
現在,使用IronPDF Main方法中設置您的授權金鑰:
License.setLicenseKey("Your license key");
License.setLicenseKey("Your license key");
建立或打開現有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"));
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"));
您也可以提供文件密碼作為第二個參數給[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"));
PDF文件通過將索引號作為參數傳遞給copyPage方法來分割。 然後,將每頁保存到一個單獨的文件中。
頁面 1
頁面 2
頁面 3
頁面 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"));
將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"));
}
}
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通過提供如copyPage和copyPages等易於使用的方法,簡化了在Java中拆分PDF的過程,確保在不丟失文件格式的情況下有效管理PDF。
IronPDF是否提供靈活的商業用途授權選項?
是的,IronPDF提供了靈活的商業用途授權選項,以及可用於生產的免費版本,這對於開發和測試非常理想。





