PDF 文件通常由文本、圖像、標題、註釋和其他元素組成。由於這種格式保留了跨平台(桌面/移動等)的文檔佈局,因此它廣泛用於通過互聯網共享信息。但是,我們可能需要提取 PDF 文檔的文本內容以進行進一步處理。因此,在本文中,我們將詳細討論如何使用 Java Cloud SDK 從 PDF 中提取文本。操作完成後,輸出將以 TXT 格式保存。
PDF 到 TXT 轉換 API
Aspose.PDF Cloud SDK for Java 是我們屢獲殊榮的 REST API 解決方案,提供創建、編輯 PDF 並將其轉換為 JPG、XPS、HTML、DOCX 和各種其他支持的格式 的功能。現在,為了在 Java 應用程序中實現 pdf 文本識別功能,請在 maven 構建類型項目的 pom.xml 中添加以下詳細信息。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
安裝 SDK 後,下一個重要步驟是在 Aspose Cloud 上創建一個免費帳戶。因此,請使用新創建的帳戶登錄,並在 Cloud Dashboard 查找/創建客戶端 ID 和客戶端密碼。後續部分需要這些詳細信息。
PDF 到 Java 中的文本
請按照以下步驟使用 Java Cloud SDK 執行 PDF 到文本的轉換。所以轉換成功後,生成的TXT文件保存在雲存儲中。
- 首先,我們需要創建一個 PdfApi 對象,同時提供 ClientID 和 Client secret 作為參數
- 其次,使用 File 實例加載輸入 PDF 文件
- 使用 uploadFile(…) 方法將輸入的 PDF 上傳到雲存儲
- 創建 Integer 變量指定用於文本提取的 PDF 頁碼和 Double 實例指示我們需要從中提取文本內容的頁面矩形區域
- 最後調用 getPageText(…) 方法從輸入的 PDF 中獲取文本內容
try
{
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 創建 PdfApi 的實例
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// 輸入 PDF 文檔的名稱
String inputFile = "marketing.pdf";
// 讀取輸入PDF文件的內容
File file = new File("//Users//"+inputFile);
// 上傳PDF到雲存儲
pdfApi.uploadFile("input.pdf", file, null);
// 要轉換的 PDF 的特定頁面
int pageNumber =1;
// 左下角的 X 坐標
Double LLX = 0.0;
// Y - 左下角的坐標。
Double LLY = 0.0;
// X - 右上角的坐標。
Double URX = 800.0;
// Y - 右上角的坐標。
Double URY = 800.0;
// 調用 API 將 PDF 轉換為文本
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// 生成的 TXT 文件實例
FileWriter myWriter = new FileWriter("filename.txt");
// 現在遍歷單個 Text Occurance 在控制台中獲取打印結果
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// 將文本內容寫入TXT文件
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// 關閉 TXT 處理程序
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
上例中使用的示例 PDF 文件可以從 marketing.pdf 和 extracted.txt 下載
使用 cURL 命令從 PDF 中提取文本
可以通過 cURL 命令輕鬆訪問 REST API,因此在本節中,我們將探索如何使用 cURL 命令從 PDF 中提取文本內容的選項。因此,作為先決條件,我們首先需要在執行以下命令時生成 JWT 訪問令牌(基於客戶端憑據)。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
獲得 JWT 令牌後,我們需要執行以下命令來提取 PDF 文檔中出現的所有文本。
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
結論
本文詳細介紹瞭如何使用 Java Cloud SDK 將 PDF 轉換為 TXT。同時,我們還探索了使用 cURL 命令從 PDF 中提取文本的選項。因此,借助在多個 PDF 頁面之間遍歷的靈活性,我們可以控制從何處提取內容。我們強烈建議您瀏覽產品 文檔,以進一步了解 Java Cloud API 提供的其他令人興奮的功能。此外,由於我們所有的 Cloud SDK 都是在 MIT 許可下發布的,因此您可以考慮從 GitHub 下載完整的源代碼並根據您的要求進行修改。如有任何問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: