如何在 Java 中解析 PDF (开发人员教程)
本文将使用IronPDF库以高效的方法在Java中创建一个PDF解析器。
IronPDF - Java PDF 库
IronPDF for Java是一个Java PDF库,可以轻松准确地创建、读取和操作PDF文档。 它建立在IronPDF for .NET的成功基础上,并在不同平台上提供高效的功能。 IronPDF for Java利用IronPdfEngine,该引擎快速且经过优化以提高性能。
使用IronPDF,您可以从PDF文件中提取文本和图像,还可以从各种来源创建PDF,包括HTML字符串、文件、URL和图像。 此外,您还可以轻松添加新内容,插入IronPDF签名,并将元数据嵌入PDF文档。 IronPDF专为Java 8+,Scala和Kotlin设计,并且兼容Windows、Linux和云平台。
如何用 Java 解析 PDF 文件
- 下载用于解析 PDF 文件的 Java 库。
- 使用
fromFile方法加载现有 PDF 文档 - 使用
extractAllText方法从解析后的 PDF 中提取所有文本 - 使用
renderUrlAsPdf方法从 URL 呈现 PDF - 使用
extractAllImages方法从解析后的 PDF 中提取图像
使用Java程序中的IronPDF创建PDF文件解析器
前提条件
要在Java中制作一个PDF解析项目,您将需要以下工具:
- Java IDE:您可以使用任何支持 Java 的 IDE。目前有多种 Java IDE 可用于开发。 本教程将使用IntelliJ IDE。 你可以使用 NetBeans、Eclipse 等等。
- Maven 项目: Maven 是一个依赖管理器,可以控制 Java 项目。 可以从Maven官方网站下载用于Java的Maven。 IntelliJ Java IDE内置对Maven的支持。
IronPDF - 您可以通过多种方式下载并安装IronPDF for Java。
在Maven项目的
pom.xml文件中添加IronPDF依赖项。<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>[LATEST_VERSION]</version> </dependency><dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>[LATEST_VERSION]</version> </dependency>XML- 访问Maven存储库网站以获取最新的IronPDF for Java软件包。
- 从Iron Software 官方下载页面直接下载。
- 使用JAR文件在简单的Java应用程序中手动安装IronPDF。
Slf4j-Simple:此依赖项也是将内容添加到现有文档所必需的。 它可以使用IntelliJ中的Maven依赖管理器添加,或者可以直接从Maven网站下载。在
pom.xml文件中添加以下依赖项:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.5</version> </dependency>XML
添加必要的导入
安装完所有必需组件后,第一步是导入必要的IronPDF包以处理PDF文档。 在Main.java文件顶部添加以下代码:
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;许可证密钥
IronPDF 中提供的一些方法需要许可证才能使用。 您可以购买许可证或在免费试用中尝试IronPDF免费。 您可以按如下所示设置密钥:
License.setLicenseKey("YOUR-KEY");License.setLicenseKey("YOUR-KEY");步骤1:解析现有的PDF文档
要解析现有文档以提取内容,使用[PdfDocument](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html)类。 其静态[fromFile](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path))方法用于从指定路径和文件名解析PDF文件 代码如下:
PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("sample.pdf"));PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("sample.pdf"));
已解析文档
步骤2:从解析好的PDF文件中提取文本数据
IronPDF for Java提供了一种简单方法来从PDF文档中提取文本。 以下是用于从PDF文件中提取文本数据的代码片段如下:
String extractedText = parsedDocument.extractAllText();String extractedText = parsedDocument.extractAllText();上述代码生成的输出如下所示:
输出
步骤3:从URL或HTML字符串中提取文本数据
IronPDF for Java的功能不仅限于现有的PDF,它还可以创建并解析新文件以提取内容。 本教程将在这里从URL中创建PDF文件并从中提取内容。 以下示例显示如何实现此任务:
public class Main {
public static void main(String[] args) throws IOException {
License.setLicenseKey("YOUR-KEY");
PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
String extractedText = parsedDocument.extractAllText();
System.out.println("Text Extracted from URL:\n" + extractedText);
}
}public class Main {
public static void main(String[] args) throws IOException {
License.setLicenseKey("YOUR-KEY");
PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
String extractedText = parsedDocument.extractAllText();
System.out.println("Text Extracted from URL:\n" + extractedText);
}
}译文如下:
输出
步骤4:从解析好的PDF文档中提取图像
IronPDF还提供了一种简单的方法来提取已解析文档中的所有图像。 此教程将使用前面的示例来看图像如何轻松地从PDF文件中提取出来。
import com.ironsoftware.ironpdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
License.setLicenseKey("YOUR-KEY");
PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
try {
List<BufferedImage> images = parsedDocument.extractAllImages();
System.out.println("Number of images extracted from the website: " + images.size());
int i = 0;
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("assets/extracted_" + ++i + ".png")));
}
} catch (Exception exception) {
System.out.println("Failed to extract images from the website");
exception.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
License.setLicenseKey("YOUR-KEY");
PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
try {
List<BufferedImage> images = parsedDocument.extractAllImages();
System.out.println("Number of images extracted from the website: " + images.size());
int i = 0;
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("assets/extracted_" + ++i + ".png")));
}
} catch (Exception exception) {
System.out.println("Failed to extract images from the website");
exception.printStackTrace();
}
}
}[extractAllImages](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#extractAllImages())方法返回BufferedImages的列表。 然后可以使用ImageIO.write方法将每个BufferedImage存储为PNG图像到指定位置。 解析的PDF文件中有34张图像,每张图像都被完美提取。
提取的图像
步骤5:从PDF文件中的表格中提取数据
使用[extractAllText方法](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#extractAllText(),从PDF文件中的表格边界提取内容变得非常简单,只需一行代码即可。 以下代码片段展示了如何从PDF文件中的表格中提取文本:
PDF中的表格
PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("table.pdf"));
String extractedText = parsedDocument.extractAllText();
System.out.println(extractedText);PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("table.pdf"));
String extractedText = parsedDocument.extractAllText();
System.out.println(extractedText);译文如下:
输出
结论
本文演示了如何在Java中使用IronPDF解析现有的PDF文档或从URL创建一个新的PDF解析器文件以从中提取数据。 打开文件后,它可以从PDF中提取表格数据、图像和文本,还可以将提取的文本添加到文本文件中以备后用。
有关如何在Java中以编程方式处理PDF文件的更多详细信息,请访问这些PDF文件创建示例。
IronPDF for Java库对于开发用途是免费的,提供免费试用。 然而,用于商业用途可以通过IronSoftware获得许可证,起价为$799。
常见问题解答
如何在Java中创建PDF解析器?
要在Java中创建PDF解析器,您可以使用IronPDF库。首先下载并安装IronPDF,然后使用fromFile方法加载您的PDF文档。您可以分别使用extractAllText和extractAllImages方法提取文本和图像。
IronPDF能否与Java 8+一起使用?
是的,IronPDF兼容Java 8及更高版本,以及Scala和Kotlin。它支持包括Windows、Linux和云环境在内的多个平台。
在Java中使用IronPDF解析PDF的关键步骤是什么?
关键步骤包括设置Maven项目,添加IronPDF依赖项,使用fromFile加载PDF文档,使用extractAllText提取文本,以及使用extractAllImages提取图像。
如何在Java中将URL转换为PDF?
您可以使用IronPDF的renderUrlAsPdf方法在Java中将URL转换为PDF。这让您可以高效地将网页呈现为PDF文档。
IronPDF适合基于云的Java应用程序吗?
是的,IronPDF被设计为多功能的,支持基于云的环境,适合于需要在云中处理PDF功能的Java应用程序的开发。
如何管理Java PDF解析项目的依赖项?
在Java项目中管理依赖项,可以使用Maven。将IronPDF库添加到项目的pom.xml文件中以包含它作为依赖项。
IronPDF有哪些许可选项?
IronPDF提供用于开发目的的免费试用。然而,用于商业用途需要许可证。这确保了访问所有功能和优先支持。










