PDF 檔案中提取純文字是資料分析、搜尋索引與內容遷移的常見需求。 Aspose.PDF for Python via .NET 提供了功能強大的 SDK,讓在 Python 中將 PDF 轉換為 TXT 變得簡單。在本指南中,您將學習如何設定庫、逐步瀏覽完整程式碼範例、探索設定選項,並套用最佳實踐以實現高效且可靠的文字提取。

從 PDF 中提取文字的步驟(Python)

  1. 安裝 Aspose.PDF SDK: 使用 pip 將庫添加到您的環境中。
pip install aspose-pdf
  1. 匯入所需類別:將 Document 和 TextAbsorber 類別帶入您的腳本。
import aspose.pdf as ap
  1. 載入 PDF 文件:建立指向來源檔案的 Document 物件。
doc = ap.Document("sample.pdf")
  1. 使用 TextAbsorber 提取文字:初始化 TextAbsorber,讓它處理所有頁面,並取得文字。
absorber = ap.TextAbsorber()
doc.pages.accept(absorber)
extracted_text = absorber.text

TextAbsorber 類別提供用於編碼和版面保存的屬性。

  1. 將提取的文字保存為 TXT 檔案:使用 UTF‑8 將字串寫入磁碟,以保留特殊字元。
with open("output.txt", "w", encoding="utf-8") as txt_file:
    txt_file.write(extracted_text)

使用 Aspose.PDF 將 PDF 轉換為 TXT - 完整程式碼範例

以下範例示範了一個最小的端對端實作,您可以將其套用到自己的專案中。

import aspose.pdf as ap

def convert_pdf_to_txt(input_path: str, output_path: str):
    # Load the PDF document
    document = ap.Document(input_path)

# Create a TextAbsorber to extract text
    absorber = ap.TextAbsorber()
    document.pages.accept(absorber)

# Retrieve the extracted text
    text = absorber.text

# Write the text to a .txt file using UTF‑8 encoding
    with open(output_path, "w", encoding="utf-8") as file:
        file.write(text)

if __name__ == "__main__":
    # Example usage
    convert_pdf_to_txt("sample.pdf", "sample.txt")

注意: 此程式碼範例展示了核心功能。在將其用於您的專案之前,請確保更新檔案路徑(sample.pdfsample.txt)以匹配實際檔案位置,驗證所有必要的相依項已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯繫支援團隊尋求協助。

安裝與配置 Aspose.PDF for Python via .NET

SDK 以 PyPI 套件的形式發佈。從官方儲存庫下載最新版本,並使用 pip 安裝它。

pip install aspose-pdf

您也可以直接從下載頁面下載 wheel。該庫需要 Python 3.6 或更高版本,並且在生產環境中需要有效的 Aspose 授權。

配置 PDF 轉 TXT 的提取選項

透過調整以下屬性來微調提取過程:

  • 編碼 - 設定 absorber.text_encoding 以處理特定字元集。
absorber.text_encoding = "utf-8"
  • 頁面範圍 - 限制提取至頁面子集以提升效能。
absorber.page_start = 1
absorber.page_end = 5
  • 保留佈局 - 如果需要保留欄位結構,請啟用 absorber.extract_text 以保留佈局。
absorber.extract_text = True

這些選項是 API 參考中 TextAbsorber 類別的一部分。

Python 中 PDF 轉 TXT 的最佳實踐

  • 逐步處理大型 PDF - 以批次方式提取頁面,而不是將整個文件載入記憶體。
  • 使用 UTF‑8 編碼 - 總是使用 UTF‑8 寫入輸出檔案,以避免字元遺失,尤其是多語言 PDF。
  • 驗證輸入檔案 - 在提取之前檢查 PDF 是否未受密碼保護;如有需要,處理 PdfPasswordException
  • 釋放資源 - 雖然 Python 的垃圾回收器會處理大多數物件,但完成後仍應明確關閉檔案串流。
  • 記錄提取結果 - 記錄已處理的頁數以及任何警告,以協助除錯與監控。

結論

在 Python 中將 PDF 轉換為 TXT 變得簡單,使用 Aspose.PDF for Python via .NET。該 SDK 能處理複雜的版面配置、Unicode 字元和大型文件,同時透過其 API 提供細緻的控制。安裝套件並遵循步驟指南後,您即可將可靠的文字提取整合到任何 Python 應用程式中。請記得為正式環境取得適當的授權;您可以查看 定價頁面 以了解選項,並取得 臨時授權 以在正式採用前評估該 SDK。

常見問題

  • 如何在 Python 中使用 Aspose.PDF 將 PDF 轉換為 TXT?
    使用 Document 類別載入 PDF,套用 TextAbsorber 以擷取文字,然後將 absorber.text 寫入 .TXT 檔案。上面的完整程式碼範例說明了此工作流程。

  • 如果我的 PDF 包含圖像或掃描頁面怎麼辦?
    TextAbsorber 只能提取可選取的文字。對於掃描的 PDF,請將 Aspose.PDF 與 Aspose.OCR for Python via .NET 結合,在提取之前執行 OCR。

  • 我可以一次批量轉換多個 PDF 嗎?
    是的。將轉換邏輯放在迴圈中,該迴圈遍歷文件路徑列表。根據每個文件的需要調整 TextAbsorber 設定。

  • 商業項目是否需要許可證?
    生產部署需要使用授權版的 Aspose.PDF for Python via .NET。測試可使用臨時許可證,詳細價格可在定價頁面上查閱。

閱讀更多