跳至页脚内容
在 JAVA 中使用 IRONPDF

如何在 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程序中的IronPDF创建PDF文件解析器

前提条件

要在Java中制作一个PDF解析项目,您将需要以下工具:

  1. Java IDE:您可以使用任何支持 Java 的 IDE。目前有多种 Java IDE 可用于开发。 本教程将使用IntelliJ IDE。 你可以使用 NetBeans、Eclipse 等等。
  2. Maven 项目: Maven 是一个依赖管理器,可以控制 Java 项目。 可以从Maven官方网站下载用于Java的Maven。 IntelliJ Java IDE内置对Maven的支持。
  3. 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。
  4. 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;
JAVA

许可证密钥

IronPDF 中提供的一些方法需要许可证才能使用。 您可以购买许可证或在免费试用中尝试IronPDF免费。 您可以按如下所示设置密钥:

License.setLicenseKey("YOUR-KEY");
License.setLicenseKey("YOUR-KEY");
JAVA

步骤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"));
JAVA

如何在Java中解析PDF(开发者教程),图1:解析文档 已解析文档

步骤2:从解析好的PDF文件中提取文本数据

IronPDF for Java提供了一种简单方法来从PDF文档中提取文本。 以下是用于从PDF文件中提取文本数据的代码片段如下:

String extractedText = parsedDocument.extractAllText();
String extractedText = parsedDocument.extractAllText();
JAVA

上述代码生成的输出如下所示:

如何在Java中解析PDF(开发者教程),图2:输出 输出

步骤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);
    }
}
JAVA

译文如下:

如何在Java中解析PDF(开发者教程),图3:输出 输出

步骤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();
        }
    }
}
JAVA

[extractAllImages](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#extractAllImages())方法返回BufferedImages的列表。 然后可以使用ImageIO.write方法将每个BufferedImage存储为PNG图像到指定位置。 解析的PDF文件中有34张图像,每张图像都被完美提取。

如何在Java中解析PDF(开发者教程),图4:提取的图像 提取的图像

步骤5:从PDF文件中的表格中提取数据

使用[extractAllText方法](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#extractAllText(),从PDF文件中的表格边界提取内容变得非常简单,只需一行代码即可。 以下代码片段展示了如何从PDF文件中的表格中提取文本:

如何在Java中解析PDF(开发者教程),图5: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

译文如下:

如何在Java中解析PDF(开发者教程),图6:输出 输出

结论

本文演示了如何在Java中使用IronPDF解析现有的PDF文档或从URL创建一个新的PDF解析器文件以从中提取数据。 打开文件后,它可以从PDF中提取表格数据、图像和文本,还可以将提取的文本添加到文本文件中以备后用。

有关如何在Java中以编程方式处理PDF文件的更多详细信息,请访问这些PDF文件创建示例

IronPDF for Java库对于开发用途是免费的,提供免费试用。 然而,用于商业用途可以通过IronSoftware获得许可证,起价为$799。

常见问题解答

如何在Java中创建PDF解析器?

要在Java中创建PDF解析器,您可以使用IronPDF库。首先下载并安装IronPDF,然后使用fromFile方法加载您的PDF文档。您可以分别使用extractAllTextextractAllImages方法提取文本和图像。

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提供用于开发目的的免费试用。然而,用于商业用途需要许可证。这确保了访问所有功能和优先支持。

Darrius Serrant
全栈软件工程师(WebOps)

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。