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

如何在 Java 中解析 PDF (开发人员教程)

本文将使用IronPDF库以高效的方法在Java中创建一个PDF解析器。

IronPDF - Java PDF 库

IronPDF for Java是一个Java PDF库,可以轻松准确地创建、读取和操作PDF文档。 它建立在IronPDF for .NET的成功基础上,并在不同平台上提供高效的功能。 IronPDF for Java利用IronPdfEngine,该引擎快速且经过优化以提高性能。

With IronPDF, you can extract text and images from PDF files and it also enables creating PDFs from various sources including HTML strings, files, URLs, and images. Furthermore, you can easily add new content, insert signatures with IronPDF, and embed metadata into PDF documents. IronPDF专为Java 8+,Scala和Kotlin设计,并且兼容Windows、Linux和云平台。

class="hsg-featured-snippet">

如何在Java中解析PDF文件

  1. 下载用于解析PDF文件的Java库
  2. 使用fromFile方法加载现有的PDF文档
  3. 使用extractAllText方法从解析的PDF中提取所有文本
  4. 使用renderUrlAsPdf方法从URL渲染PDF
  5. 使用extractAllImages方法从解析的PDF中提取图像

使用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类。 其静态fromFile方法用于从指定路径和文件名解析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/ironsoftware/ironpdf/PdfDocument.html#extractAllImages())方法返回BufferedImages的列表。 然后可以使用ImageIO.write方法将每个BufferedImage存储为PNG图像到指定位置。 解析的PDF文件中有34张图像,每张图像都被完美提取。

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

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

使用[extractAllText方法](/java/object-reference/api/com/ironsoftware/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 来说,他的工作令人满意,因为它被重视并产生真正的影响。