文档解析 – 从 PDF 文件中提取文本的 Java 方法

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

本文将涵盖以下主题:

Java REST API to Extract Text from PDF Files and SDK Installation

GroupDocs.Parser Cloud SDK for Java 是一个强大、用户友好且功能丰富的软件开发工具包,提供了全面的 PDF 解析能力。凭借其全面的 API 集,您可以轻松提取文本、元数据、图像,并从超过 50 种 document formats 中解析数据。它还提供 C# .NET、Java、PHP、Ruby 和 Python SDK 作为其 document parser family members 的 Cloud API。该 SDK 可以集成到基于 Java 的应用程序中,以简化您的开发过程并提高生产力。

您可以选择 下载 API 的 JAR 文件,或者通过将以下仓库和依赖项添加到您项目的 pom.xml 文件中来使用 Maven 进行安装:

Maven Repository:

<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>

接下来,sign up 注册一个免费试用帐户或 purchase a subscription plan 在 GroupDocs 网站上,并 get your API key。一旦你获得了 Client Id 和 Client Secret,请将以下代码片段添加到基于 Java 的应用程序中:

# 从 https://dashboard.groupdocs.cloud 注册后获取您的 clientid 和 clientsecret。

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 文件中提取文本是一个简单的过程。以下是操作步骤:

  • 上传 the PDF file to the cloud.
  • 提取 使用 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.*;

// 将文件上传到 Cloud Storage 使用 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 文件将在您的云仪表板的 [files section][https://dashboard.groupdocs.cloud/files] 中可用。

从PDF文档中提取文本的Java代码

按照步骤和示例代码片段,使用 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 文档中提取文本

从PDF文档中提取文本的Java代码

从PDF中按页面编号范围提取特定文本

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

  • 首先,将所需的类导入到您的 Java 文件中。
  • 其次,创建一个 ParseApi 类的实例。
  • 第三,创建一个 FileInfo 类的实例。
  • 接下来,将 PDF 文件的路径设置为输入。
  • 然后,创建一个 TextOptions() 类的实例。
  • 现在,提供 setStartPageNumber 和 setCountPagesToExtract 的值。
  • 然后,将 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.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 文本的最佳方法是什么?请尝试使用 online PDF document parser software 从 PDF 中提取文本。这个 PDF 解析工具是使用上述 Java 解析库开发的。

结论

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

  • 如何使用 Java 中的 REST API 从 PDF 文件中提取所有文本。
  • 以 Java 程序化地将 PDF 文件上传到云端。
  • 如何在Java中使用REST API提取PDF中的内容。
  • 在线 PDF 文本提取工具,用于解析 PDF 文档。

此外,您可以通过 documentation 了解更多关于 GroupDocs.Parser Cloud API 的信息。我们还提供一个 API Reference 部分,允许您通过浏览器直接可视化和交互我们的 APIs。Java SDK 的完整源代码可在 Github 上免费获取。

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

Ask a question

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

常见问题解答

How do I extract all text from a PDF file using Java?

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

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

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

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

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

另见

这里有一些相关的文章,您可能会觉得有用: