文檔解析——用 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 文檔的特定部分中提取文本。

也可以看看

以下是一些您可能會覺得有用的相關文章: