10. 如何在 Java 中拆分 PDF 文件
这篇文章将使用 IronPDF 在 Java 中从源 PDF 文件中拆分 PDF 文件。
IronPDF for 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 for Java 库: 现在你需要 IronPDF for 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
一旦所有内容都下载并安装在你的拆分 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;现在,在Main方法中,使用 IronPDF 的setLicenseKey()方法设置您的许可证密钥:
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/Iron Software/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方法提供文档密码作为第二个参数来打开受密码保护的文件。
将 PDF 文件拆分为多个 PDF 文件
拆分 PDF 文件的代码很简单。 只需使用[copyPage](/java/object-reference/api/com/Iron Software/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"));通过将索引号作为参数传递给copyPage方法来拆分 PDF 文件。 然后,分别保存每一页到一个文件中。
第 1 页

第 2 页

第 3 页

第 4 页

该方法[copyPages](/java/object-reference/api/com/Iron Software/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 文档。
摘要
这篇文章探讨了如何通过IronPDF Library在 Java 程序中打开现有 PDF 文档并将 PDF 文件拆分为多个 PDF。
在 Java 中处理 PDF 文件时,IronPDF 让开发者的生活变得更加轻松。 无论您是要创建新文档或是处理现有的 PDF 文档,IronPDF 都可以用近乎一行代码完成所有 PDF 相关任务。
您可以免费在生产中使用 IronPDF,并且可以选择以灵活的选项授权其用于商业用途。 IronPDF Lite 套餐起价为$799。
常见问题解答
如何在 Java 中拆分 PDF 文件而不丢失格式?
在 Java 中使用 IronPDF,可以通过利用 copyPage 方法将 PDF 文件拆分为单独的页面作为独立的 PDF 文档,而不丢失格式。
设置 Java 项目以拆分 PDF 的步骤是什么?
要使用 IronPDF 设置用于拆分 PDF 的 Java 项目,请确保你已安装 JDK 和 Maven,然后在 Maven 项目中将 IronPDF 作为依赖项包含进来。导入必要的类,如 com.Iron Software.ironpdf.PdfDocument。
是否可以在 Java 中通过页面范围拆分 PDF?
是的,使用 IronPDF 的 copyPages 方法,你可以轻松地通过指定页面范围来拆分 PDF,以在 Java 中创建单独的 PDF 文档。
在 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 项目中。
使用 IronPDF 在 Java 中拆分 PDF 的好处是什么?
IronPDF 通过提供易于使用的方法(如 copyPage 和 copyPages),简化了在 Java 中拆分 PDF 的过程,确保了高效的 PDF 管理,而不会丢失文档格式。
IronPDF 是否提供灵活的商业使用许可选项?
是的,IronPDF 提供灵活的商业使用许可选项,并且有免费版本可供生产使用,非常适合开发和测试。










