PDF 到 TXT 轉換器

如何使用 Java 將 PDF 轉換為 TXT

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>http://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 轉換為 TXT

Image1:- PDF 到 TXT 轉換預覽

上例中使用的示例 PDF 文件可以從 marketing.pdfextracted.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 下載完整的源代碼並根據您的要求進行修改。如有任何問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。

相關文章

請訪問以下鏈接以了解更多信息: