文档解析——用 Java 从 PDF 文件中提取文本

您是否遇到过需要以编程方式从 PDF 文件中提取文本的情况?以编程方式从 PDF 文件中提取文本可能是一项复杂的任务,尤其是在处理大型文档时。如果您是 Java 开发人员并正在寻找可靠的解决方案,GroupDocs.Parser Cloud SDK for Java 提供了一种从 PDF 文件中提取文本的有效方法。在本文中,我们将探索如何使用 REST API 从 Java 中的 PDF 文件中提取文本。

本文应涵盖以下主题:

从 PDF 文件和 SDK 安装中提取文本的 Java REST API

GroupDocs.Parser Cloud SDK for Java 是一个功能强大、用户友好且功能丰富的软件开发工具包,可提供全面的 PDF 解析功能。凭借其全面的 API 集,您可以毫不费力地从 50 多种文档格式 中提取文本、元数据、图像和解析数据。它还为 Cloud API 提供 C# .NET、Java、PHP、Ruby 和 Python SDK 作为其文档解析器家族成员SDK 可以集成到基于 Java 的应用程序中,以简化您的开发过程并提高生产力。

您可以 下载 API 的 JAR 文件或使用 Maven 安装它,方法是将以下存储库和依赖项添加到项目的 pom.xml 文件中:

Maven 存储库:

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>https://repository.groupdocs.cloud/repo</url>
</repository>

Maven 依赖项:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser-cloud</artifactId>
    <version>23.3</version>
    <scope>compile</scope>
</dependency>

接下来,在 GroupDocs 网站上注册 免费试用帐户或购买订阅计划获取您的 API 密钥。获得客户端 ID 和客户端密码后,将以下代码片段添加到基于 Java 的应用程序中:

# 注册后从 https://dashboard.groupdocs.cloud 获取你的 client_id 和 client_secret。

String ClientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
String ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String MyStorage = "test-internal-storage";
Configuration configuration = new Configuration(ClientId, ClientSecret);

如何使用 REST API 从 PDF 文件中提取所有文本

使用 GroupDocs.Parser Cloud SDK 从 Java 中的 PDF 文件中提取文本是一个简单的过程。方法如下:

  • 上传PDF文件到云端
  • Extract 使用 Java 从 PDF 中提取文本

上传文件

首先,使用下面给出的代码示例将 PDF 文档上传到云端:

package com.groupdocsdev.classes;

import java.io.File;
import java.nio.file.Paths;

import com.groupdocs.cloud.Parser.api.*;
import com.groupdocs.cloud.Parser.client.ApiException;
import com.groupdocs.cloud.Parser.model.*;
import com.groupdocs.cloud.Parser.model.requests.*;

// 使用Java上传文件到云存储
public class App {

	public static void main(String[] args) {

		FileApi apiInstance = new FileApi(configuration);
		try {
			File fileStream = new File("H:\\groupdocs-cloud-data\\input-sample-file.pdf");
			UploadFileRequest request = new UploadFileRequest("java-testing\\input-sample-file.pdf", fileStream, MyStorage);
			FilesUploadResult response = apiInstance.uploadFile(request);
			System.out.println("Expected response type is FilesUploadResult: " + response.getUploaded().size());
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
	}
}

因此,上传的 PDF 文件将在云端仪表板的 文件部分 中可用。

在 Java 中从 PDF 文档中提取文本

按照以下步骤和示例代码片段使用 GroupDocs.Parser Cloud SDK for Java 在 Java 中以编程方式从 PDF 文件中提取所有文本:

  • 首先,将所需的类导入到您的 Java 文件中。
  • 其次,创建 ParseApi 类的一个实例。
  • 第三,创建 FileInfo 类的一个实例。
  • 接下来,将 PDF 文件的路径设置为输入。
  • 然后,创建 TextOptions() 类的一个实例。
  • 接下来,将 fileInfo 分配给 setFileInfo 方法。
  • 现在,创建 TextRequest() 类的实例并传递 TextOptions 参数。
  • 最后,通过调用 ParseApi.text() 方法并传递 TextRequest 参数来获取结果。

以下代码示例显示了如何使用 Java 中的 REST API 从 PDF 文件中提取所有文本:

package com.groupdocsdev.classes;

import com.groupdocs.cloud.parser.client.*;
import com.groupdocs.cloud.parser.model.*;
import com.groupdocs.cloud.parser.model.requests.TextRequest;
import com.groupdocs.cloud.parser.api.ParseApi;

// 如何使用 Java 从 PDF 文档中提取文本。
public class App {

	public static void main(String[] args) {
		
		// 创建 Parse API 的实例
		ParseApi apiInstance = new ParseApi(configuration);

		try {

			// 准备设置
			FileInfo fileInfo = new FileInfo();
			fileInfo.setFilePath("java-testing/input-sample-file.pdf");
			TextOptions options = new TextOptions();
			options.setFileInfo(fileInfo);

			TextRequest request = new TextRequest(options);
			TextResult response = apiInstance.text(request);

			// 获取输出文件路径
			System.out.println("Output file path: " + response.getPath());
				
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
		
	}
}

您可以在下图中看到输出:

Java 从 PDF 文档中提取文本

在 Java 中从 PDF 文档中提取文本

按页码范围从 Java 中的 PDF 中提取特定文本

本节提供分步说明和示例代码片段,用于在 Java 中以编程方式从 PDF 文件中提取特定文本:

  • 首先,将所需的类导入到您的 Java 文件中。
  • 其次,创建 ParseApi 类的一个实例。
  • 第三,创建 FileInfo 类的一个实例。
  • 接下来,将 PDF 文件的路径设置为输入。
  • 然后,创建 TextOptions() 类的一个实例。
  • 现在,提供 setStartPageNumber 和 setCountPagesToExtract 值。
  • 然后,将 fileInfo 分配给 setFileInfo 方法。
  • 现在,创建 TextRequest() 类的实例并传递 TextOptions 参数。
  • 最后,通过调用 ParseApi.text() 方法并传递 TextRequest 参数来获取结果。

以下代码示例显示了如何使用 REST API 在 Java 中按页面范围编号从 PDF 文件中提取特定文本:

package com.groupdocsdev.classes;

import com.groupdocs.cloud.parser.client.*;
import com.groupdocs.cloud.parser.model.*;
import com.groupdocs.cloud.parser.model.requests.TextRequest;
import com.groupdocs.cloud.parser.api.ParseApi;

// 如何在 Java 中通过页面范围编号从 PDF 文件中提取文本。
public class App {

	public static void main(String[] args) {
		
		// 创建 Parse API 的实例
		ParseApi apiInstance = new ParseApi(configuration);

		try {

			// 准备设置
			FileInfo fileInfo = new FileInfo();
			fileInfo.setFilePath("java-testing/input-sample-file.pdf");
			TextOptions options = new TextOptions();
			options.setStartPageNumber(1);
			options.setCountPagesToExtract(1);
			options.setFileInfo(fileInfo);

			TextRequest request = new TextRequest(options);
			TextResult response = apiInstance.text(request);
				
			// 获取输出文件路径
			System.out.println("Output file path: " + response.getPath());
				
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
		
	}
}

免费在线文档解析器

免费在线从 PDF 中提取文本的最佳方法是什么?请尝试使用在线 PDF 文档解析器软件 从 PDF 中提取文本。此 PDF 解析器工具是使用上述 Java 解析器库开发的。

结论

总之,GroupDocs.Parser Cloud SDK for Java 对于 Java 开发人员来说是一个有价值的工具,它允许您高效地提取文本、元数据和图像。以下是您从本文中学到的内容:

  • 如何在 Java 中使用 REST API 从 PDF 文件中提取所有文本;
  • 使用 Java 以编程方式将 PDF 文件上传到云端;
  • 如何使用 REST API 从 Java 中的 PDF 中提取内容;
  • 和在线 PDF 文本提取工具来解析 PDF 文档。

此外,您可以使用 文档 了解有关 GroupDocs.Parser Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。 Java SDK 的完整源代码可在 Github 上免费获得。

最后,我们继续撰写关于不同文件格式的新博客文章,并使用 REST API 进行解析。因此,请联系以获取最新更新。

问一个问题

如果您对如何从 PDF 文件中提取文本有任何疑问或困惑,请随时通过我们的 论坛 与我们联系。

常见问题

如何使用 Java 从 PDF 文件中提取所有文本?

您可以在 Java 应用程序中使用 GroupDocs.Parser Cloud SDK for Java 从 PDF 文件中提取所有文本。这个功能强大的 SDK 提供了一种使用 Java 从 PDF 文件中提取文本的高效而直接的方法。

我可以使用 GroupDocs.Parser Cloud SDK for Java 从受密码保护的 PDF 文件中提取文本吗?

是的,SDK 支持从受密码保护的 PDF 文件中提取文本。您可以在提取过程中提供密码作为选项。

是否可以从 PDF 文件中的特定页面提取文本?

是的,GroupDocs.Parser Cloud SDK for Java 允许您指定要从中提取文本的页面范围编号。通过这种方式,您可以轻松地从 PDF 文档的特定部分中提取文本。

也可以看看

以下是一些您可能会觉得有用的相关文章: