Python

pypdf:純 Python PDF 工具包

pypdf 是一個用於 PDF 操作的純 Python 函式庫,包括分割、合併、裁剪和文字提取,無需外部依賴。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
pypdf:純 Python PDF 工具包

當你需要在 Python 中操作 PDF 而不需要大量外部依賴時,pypdf 是首選解決方案。這個純 Python 函式庫提供了全面的 PDF 操作能力,包括分割、合併、裁剪、旋轉、加密和文字提取,全部無需任何原生程式碼或系統函式庫。

Pypdf 作為標準的 Python PDF 函式庫已有超過十年的歷史。它經歷了多個主要版本的演進,現在提供了一個乾淨、現代的 API,易於使用同時在底層又非常強大。該函式庫直接解析 PDF 規範,因此可以存取文件結構中的每個元素。

核心能力

功能描述API
頁面操作合併、分割、旋轉、縮放、裁剪PdfWriter + PdfReader
元資料讀取和寫入文件元資料metadata 屬性
加密PDF 密碼保護和解密encrypt() / decrypt()
文字提取從頁面中提取文字,附版面選項extract_text()
表格填寫填寫 PDF AcroForm 欄位update_page_form_field_values()

文件處理流程

工作流程圍繞著用於輸入的 PdfReader 和用於輸出的 PdfWriter。頁面被讀取、操作並組裝成新文件。文字提取繞過 Writer 路徑,直接回傳字串。

函式庫比較

功能pypdfPyMuPDFpdfminer.sixpdfplumber
純 Python否(C 綁定)
安裝pip install複雜原生依賴pip installpip install
頁面操作完整有限
加密完整完整部分
效能中等非常快中等

純 Python 的重要性

pypdf 的純 Python 特性使其非常適合無伺服器環境和 CI/CD 管線,在這些環境中安裝原生函式庫很困難。它在 Python 支援的每個平台上都能運作,從 Raspberry Pi 到大型主機,無需編譯步驟。對於依賴管理至關重要的部署場景,pypdf 的零原生依賴方法是一個顯著優勢。

如需更多資訊,請造訪 pypdf GitHub 儲存庫pypdf 文件

常見問題

Q:pypdf 支援哪些 Python 版本? A:pypdf 支援 Python 3.8 及以上版本,包括 Python 3.13。

Q:pypdf 可以從 PDF 中提取圖像嗎? A:它有基本的圖像提取功能;對於進階圖像處理,建議使用 PyMuPDF。

Q:pypdf 是執行緒安全的嗎? A:是的,PdfReader 實例對於讀取操作是執行緒安全的。

Q:pypdf 能處理 PDF/A 文件嗎? A:它可以讀取 PDF/A 文件,但不會驗證或建立符合 PDF/A 的輸出。

Q:pypdf 與 PyPDF2/PyPDF3/PyPDF4 相比如何? A:pypdf 是 PyPDF2 的直接繼承者,也是原始 py-pdf 專案的主動維護版本。

TAG