從 PDF 檔案中提取純文字是資料分析、搜尋索引與內容遷移的常見需求。 Aspose.PDF for Python via .NET 提供了功能強大的 SDK,讓在 Python 中將 PDF 轉換為 TXT 變得簡單。在本指南中,您將學習如何設定庫、逐步瀏覽完整程式碼範例、探索設定選項,並套用最佳實踐以實現高效且可靠的文字提取。
從 PDF 中提取文字的步驟(Python)
- 安裝 Aspose.PDF SDK: 使用 pip 將庫添加到您的環境中。
pip install aspose-pdf
- 匯入所需類別:將 Document 和 TextAbsorber 類別帶入您的腳本。
import aspose.pdf as ap
- 載入 PDF 文件:建立指向來源檔案的 Document 物件。
doc = ap.Document("sample.pdf")
- 使用 TextAbsorber 提取文字:初始化 TextAbsorber,讓它處理所有頁面,並取得文字。
absorber = ap.TextAbsorber()
doc.pages.accept(absorber)
extracted_text = absorber.text
TextAbsorber 類別提供用於編碼和版面保存的屬性。
- 將提取的文字保存為 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.pdf、sample.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。測試可使用臨時許可證,詳細價格可在定價頁面上查閱。
