文檔解析 – 從 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 用於雲 API。該 SDK 可以集成到基於 Java 的應用程序中,以簡化您的開發流程並提高生產力。

您可以選擇 下載 API 的 JAR 檔案,或透過 Maven 安裝它,方法是將以下存儲庫和依賴項添加到您項目的 pom.xml 文件中:

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。一旦您擁有客戶端 ID 和客戶端密鑰,請將以下代碼片段添加到基於 Java 的應用程序中:

# 獲取您的 clientid 和 clientsecret,請在註冊後訪問 https://dashboard.groupdocs.cloud。

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

如何在 Java 中使用 REST API 擷取 PDF 文件中的所有文字

使用 GroupDocs.Parser Cloud SDK 從 PDF 文件中提取文本的過程非常簡單。以下是如何操作的:

  • Upload 將 PDF 文件上傳到雲端。
  • Extract 從 PDF 中使用 Java 擷取文本。

上傳檔案

Firstly, upload the PDF document to the cloud using the code example given below:

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 文件將在您的雲端儀表板的 [files section][https://dashboard.groupdocs.cloud/files] 中可用。

從 PDF 文檔中提取文本的 Java 程式

遵循步驟和範例程式碼片段,以使用 GroupDocs.Parser Cloud SDK for 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 程式碼

在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();
		}
		
	}
}

免費線上文件解析器

What is the best way to extract text from PDF online for free? Please try an online PDF document parser software to extract text out of PDF. This PDF Parser tool is developed using the above-mentioned Java parser library.

結論

總之,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 部分,讓您直接通過瀏覽器視覺化和互動我們的 API。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 檔案中提取文本。

Can I extract text from password-protected PDF files using GroupDocs.Parser Cloud SDK for Java?

是的,該 SDK 支援從受密碼保護的 PDF 文件中提取文本。您可以在提取過程中將密碼作為選項提供。

Is it possible to extract text from specific pages within a PDF file?

是的, GroupDocs.Parser Cloud SDK for Java 允許您指定希望提取文本的頁面範圍號碼。這樣,您可以輕鬆地從 PDF 文件的特定部分提取文本。

See Also

這裡有一些相關的文章,您可能會覺得有幫助: