Python 操作 PDF 文檔:主流庫選型指南
PDF (Portable Document Format) 因其跨平臺、格式固定的特性成為文檔交換的標準。然而,由于其復雜的內部結構(文本流、圖像、字體、矢量圖形、注釋、表單等都可能混合在一起),程序化操作 PDF 一直是個挑戰。
Python 生態提供了豐富的庫來解決不同場景下的 PDF 操作需求。根據核心功能分類,介紹最流行和最實用的庫,包括免費和付費的商業級選項,并分析它們的優缺點……本文將幫助你根據具體任務做出明智選擇。
核心原則:沒有“萬能鑰匙”!選擇哪個庫取決于你想要做什么。主要就講究一個門當戶對和技術對口,不然就是事倍功半!
一、 基礎讀取、寫入、合并、拆分、旋轉、加密/解密
這些是最常見的 PDF 基礎操作。
1.PyPDF2 (及其繼任者 pypdf)
定位: 老牌經典,功能全面,社區龐大,是處理基礎任務的首選。
主要功能:
- 讀取 PDF 元數據(作者、標題等)。
- 提取文本(但格式和位置信息可能不理想)。
- 合并多個 PDF 文件。
- 拆分 PDF(按頁)。
- 旋轉頁面。
- 添加水印(通過覆蓋頁面)。
- 加密(設置密碼)和解密 PDF。
優點: 純 Python 實現,安裝簡單 (pip install pypdf2),API 相對成熟,文檔較全,適合入門和基礎操作。
缺點:
- 文本提取能力較弱,對復雜布局和編碼支持不佳。
它提取文本時,遇到復雜排版可能像初次面對迷宮——格式和位置信息?能給你就不錯了,別要求太高!
- 編輯能力有限(難以修改現有內容結構,主要是頁面級操作)。
原 PyPDF2 曾一度維護停滯 事實上,原 PyPDF2 官方倉庫已歸檔不再維護,但其繼任者 pypdf(pip install pypdf)持續更新,故推薦使用pypdf替代舊版PyPDF2。
適用場景: 簡單的 PDF 合并、拆分、旋轉、加密、解密、基礎元數據讀取和文本提取。
簡單示例 (合并 - pypdf):
from pypdf import PdfMerger merger = PdfMerger() merger.append("file1.pdf") merger.append("file2.pdf") merger.write("combined.pdf") merger.close()
2.PyMuPDF / fitz
定位: 高性能、功能強大的瑞士軍刀。底層基于強大的 MuPDF 庫 (C/C++)。
主要功能:
- 包含
PyPDF2/pypdf的所有基礎操作(且通常更快)。 - 精確而高性能的文本提取(支持獲取文本位置、字體、顏色等豐富屬性)。
- 強大的頁面渲染(生成圖片)與圖像提取。
- 高級搜索(按矩形區域、按文本)。
- 注釋(高亮、下劃線、便簽等)的添加、修改、刪除。
- 處理表單 (AcroForms)。
- 處理文檔結構(書簽/目錄)。
優點:
- 速度快,尤其處理大文件時優勢明顯。
- 功能豐富,幾乎涵蓋 PDF 操作的所有方面。
- 文本提取精度高,信息豐富。
缺點:
- API 相對底層和復雜,學習曲線比
pypdf陡峭。 - 安裝稍復雜(依賴預編譯的 MuPDF 二進制包,但
pip install pymupdf通常能搞定)。 - 文檔雖然全面,但可能需要更多時間去理解和查找。
- 使用 AGPL 許可證(商業應用需注意合規性)。
注意了!這個 AGPL 許可證要求:“如果你分發(包括 SaaS 形式)基于 AGPL 代碼的軟件,整個作品都必須以 AGPL 許可證發布”,也就是說如果你的項目包含使用了 AGPL 許可證的代碼,那么你的一整個項目必須以 AGPL 許可證發布,并向用戶提供源代碼。 你當然可以通過付費來獲得商業授權,但是如果你的項目資金不充裕,其它的替代方案將是你最好的選擇。
適用場景: 對性能要求高、需要精確文本提取(帶位置信息)、處理注釋和表單、將 PDF 頁面轉為圖片、進行高級搜索等復雜操作。如果你需要“一個庫解決大部分問題”且能接受學習成本,它是最有力的競爭者。
簡單示例 (精確文本提取):
import fitz # PyMuPDF 的導入名是 fitz doc = fitz.open("document.pdf") page = doc[0] text = page.get_text("dict") # 獲取包含豐富信息的字典結構 blocks = text["blocks"] for block in blocks: if block["type"] == 0: # 文本塊 for line in block["lines"]: for span in line["spans"]: print( f"Text: '{span['text']}', Font: {span['font']},Size: {span['size']}, Position: {span['origin']}" ) doc.close()
3.Free Spire.PDF for Python
定位: Free Spire.PDF 是 E-iceblue 公司推出的商業級 PDF 處理庫的免費版本。提供清晰規范的商業級 API 設計,是體驗 Spire.PDF 核心功能與穩定性的理想起點。特別適合需要規范接口、企業級開發風格或特定高級功能的用戶進行評估和輕量級應用。
主要功能:
- 文檔安全性設置(密碼、添加數字簽名及帶有時間戳的數字簽名)
- 提取文本、附件和圖片
- 合并、拆分、復制、裁剪 PDF 頁面
- 添加騎縫章
- 更新元數據 (Metadata)
- 設置文檔結構 (Section)
- 規范的繪圖、插入圖片、制作和加工表格 API
- 導入和導出 PDF 表單數據 (AcroForms)
- 設置查看器首選項
優點:
- 商業級庫的免費版本,與收費版本共享統一、規范、穩定的 API,設計清晰,符合企業開發規范,降低學習與集成成本。
- 完善的文檔與示例: 提供詳盡的官方文檔和豐富示例,學習曲線平緩,開發效率高。
- 支持 .NET 風格的面向對象設計,代碼可讀性和可維護性好。
- 無需復雜依賴,安裝簡單 (
pip install Spire.PDF-Free) - 兼容性與穩定性,Windows/Linux/macOS/國產系統等均能穩定運行,輕松部署至服務器環境.
- 特色功能支持,提供如騎縫章、數字簽名(含時間戳) 等企業級文檔處理功能。
免費版說明: 由于 Free Spire.PDF 是為了讓用戶零成本體驗 Spire.PDF 的核心能力和 API 設計優勢,故它適用于評估和輕量級自動化任務,而非大規模商業目的應用。它存在以下特性:
- 頁數限制: 單次文檔處理最多支持 10 頁,格式轉換最多轉換 3 頁。
- 功能聚焦: 文本提取滿足基礎需求;編輯模式側重于添加新元素和頁面級操作,深度修改現有復雜內容結構非其主要目標。
Free Spire.PDF 或許不是把萬能鑰匙,但它可以準確地打開對應著自己的那幾把鎖——它在文檔自動化報表等領域表現相當優秀。
適用場景:
- 評估 Spire.PDF 商業級 API 設計與核心功能。
- 輕量級自動化任務。
- 需要快速實現 騎縫章、基礎數字簽名、標準化表單處理等企業文檔特性。
- 重視 API 規范性、代碼可維護性及跨平臺穩定性的開發環境。
- 快速概念驗證(PoC)和原型開發。
- (免費版適用場景)了解商業級 PDF 庫的設計理念。
對于更大規模、更復雜需求或無限制場景,Spire.PDF 商業版提供完整解決方案
簡單示例:
from spire.pdf.common import * from spire.pdf import * # 創建PDF文檔 pdf = PdfDocument() # 添加頁面 page = pdf.Pages.Add() # 創建畫刷和字體 brush = PdfSolidBrush(PdfRGBColor(Color.get_Black())) font = PdfFont(PdfFontFamily.Helvetica, 12.0) # 繪制文本 page.Canvas.DrawString("Hello from Free Spire.PDF!", font, brush, 50.0, 50.0) # 保存文檔 pdf.SaveToFile("output.pdf") pdf.Close()
二、 精確文本提取(特別是復雜布局)
如果你主要關心的是從 PDF 中準確、結構化地提取文本內容,特別是那些包含表格、多欄布局的復雜 PDF:
1.pdfplumber
定位: 專注于精準文本提取和表格識別,提供直觀的頁面和對象模型。
主要功能:
- 以清晰的方式訪問頁面上的每個字符、文本行、矩形、曲線等底層元素。 優秀的表格提取功能(基于線條和空白)。
- 獲取文本的精確位置(x, y 坐標)、字體信息等。
- 可視化調試(繪制元素邊界框)。
優點:
- 文本提取精度高,對理解 PDF 布局很友好。
- 表格提取能力是其核心亮點,效果通常優于其他通用庫。
- API 設計更符合“分析頁面元素”的直覺。
- 基于
pdfminer.six(見下文)解析,但提供了更高級、易用的抽象。
缺點:
- 主要專注于分析(讀取),寫入/編輯能力很弱。
- 處理非常大的文件時速度可能不如
PyMuPDF。
相比于其他庫,pdfminer.six更像是圖書館的管理員,而不是大作家。
適用場景: OCR 后處理、需要精確文本位置信息的抽取(如發票、報告解析)、表格數據提取。是做文本和表格分析的首選。
簡單示例 (提取表格):
import pdfplumber with pdfplumber.open("document_with_tables.pdf") as pdf: page = pdf.pages[0] table = page.extract_table() # 提取頁面上的第一個表格為二維列表 for row in table: print(row) # 或者獲取所有表格 tables = page.extract_tables()
2.pdfminer.six
定位: pdfminer 的積極維護分支。是 PDF 文本提取領域的底層引擎。
主要功能:
- 核心專注于文本提取。
- 提供對 PDF 內部結構的深度訪問(解析器、資源管理器、設備接口等)。
- 支持將 PDF 轉換為 HTML、XML 等其他文本格式。
優點:
- 文本提取能力強大,是許多其他庫(如
pdfplumber)的基礎。 - 社區維護活躍 (
pdfminer.six)。
缺點:
- API 非常底層和復雜,直接使用通常需要理解其 PDFParser, PDFDocument, PDFPageInterpreter 等等一堆組件的協作,學習成本很高,學習曲線陡峭。
- 本身不提供高級功能(如易用的表格提取、頁面操作)。
適用場景: 需要深度控制解析過程、進行高級文本處理或作為其他庫開發的基礎。對于大多數終端用戶,更推薦使用構建在它之上的 pdfplumber。
直接用它就像讓你用鑷子、電烙鐵、螺絲刀去組裝一臺超算——功能強大,但過程可能讓你懷疑人生。
三、 表格數據提取(專項)
如果核心目標就是從 PDF 中高效準確地提取表格數據:
1.camelot
定位: 專門為從 PDF 中提取表格數據而設計的庫。
主要功能:
- 識別 PDF 頁面中的表格區域。
- 精確提取表格數據為 Pandas DataFrame 或 CSV/JSON/Excel 等格式。
- 支持基于線條(
lattice)和基于空白(stream)兩種解析模式,適應不同風格的表格。
優點:
- 專精于表格提取,效果通常很好。
- 輸出直接是結構化數據(DataFrame),方便后續分析。
- 提供調整和修復表格解析的功能。
缺點:
- 僅專注于表格提取,不做其他 PDF 操作。
- 安裝依賴
tk和ghostscript。 lattice模式依賴于清晰的表格線,較慢但精確;stream模式(依賴空白)較快但在布局緊湊或嵌套表格時容易出錯。
兩個模式都是偏科戰神,建議讓它們輪番上陣,比比效果再選擇具體要用哪一個。
適用場景: 從 PDF 報告、論文、文件中抽取結構化表格數據。是表格提取任務的強力候選。
簡單示例:
import camelot # 提取第一頁的所有表格 tables = camelot.read_pdf('document.pdf', pages='1') print(tables[0].df) # 將第一個表格轉為 Pandas DataFrame # 導出所有表格為 CSV tables.export('tables.csv', f='csv')
2.tabula-py
定位: Python 對著名 Java 庫 tabula-java 的封裝。也是專門用于表格提取。
主要功能:
- 調用
tabula-java引擎提取 PDF 中的表格。 - 輸出為 Pandas DataFrame 或 JSON/CSV。
優點:
- 依賴成熟的
tabula-java,表格提取能力也很強。 - 簡單易用。
缺點:
- 依賴 Java 運行時環境 (JRE),環境配置麻煩。
- 本質上是一個包裝器,性能和靈活性受限于底層的 Java 庫。
適用場景: 需要利用 tabula-java 能力的表格提取。如果環境允許安裝 Java,也是一個不錯的選擇。
配置 Java 環境如同請外援:雖然效果顯著,但過程非常麻煩和繁瑣,還容易出問題(尤其是在多處部署的時候)。
四、 生成 PDF(報告、文檔)
需要從頭開始創建新的 PDF 文檔(如生成報告、發票、動態文檔):
1.ReportLab(reportlab)
定位: Python 生態中生成 PDF 的事實標準。功能強大且成熟。
主要功能:
- 提供低級 API (
canvas) 進行像素級精確繪圖(點、線、形狀、圖像、文本)。 - 提供高級框架 (
platypus- Paragraphs and Tables Using Stylesheets) 用于流式文檔生成,自動處理分頁、樣式(段落、表格、列表、頁眉頁腳)。 - 支持嵌入多種字體、圖像。
- 可創建簡單的交互式表單。
優點:
- 強大和靈活,幾乎能生成任何你能想到的 PDF 布局。
- 歷史悠久,社區支持好,文檔詳盡(雖然有些部分略顯陳舊)。
- 開源版功能已足夠強大,另有商業版
ReportLab Plus提供額外支持。
缺點:
- 學習曲線非常陡峭,尤其是
platypus框架的布局邏輯需要時間掌握。
學它就像爬山——只有登頂陡峭的山峰,才能看見壯麗的風景
- 純創建庫,幾乎沒有讀取或修改現有 PDF 的能力。
適用場景: 需要程序化生成高度定制化、復雜布局的 PDF 報告、文檔、票據等。是專業 PDF 生成的首選。
簡單示例 (使用 canvas畫文字):
from reportlab.pdfgen import canvas c = canvas.Canvas("hello.pdf") c.drawString(100, 750, "Hello, World!") # 位置 (x, y) 單位是點 (1/72 英寸) c.save()
2.fpdf2(PyFPDF 的現代版)
定位: 輕量級、簡單易用的 PDF 生成庫。靈感來源于 PHP 的 FPDF。
主要功能:
- 提供比
ReportLab更簡單、直接的 API 來生成包含文本、圖像、簡單表格、基本圖形的 PDF。 - 支持 Unicode (UTF-8)。
- 支持插件擴展(如頁眉頁腳、表格)。
優點:
- 輕量,API 簡潔直觀,學習成本低,快速上手。
- 純 Python 實現,安裝簡單 (
pip install fpdf2)。 - 文檔清晰。
缺點:
- 功能不如
ReportLab強大和精細(例如高級布局控制、復雜表格樣式)。 - 主要面向簡單到中等復雜度的文檔生成。
適用場景: 需要快速、簡單地生成不太復雜的 PDF 文檔(如簡單的文本報告、帶圖片的文檔、基礎表格)。是追求簡單性和快速開發的絕佳選擇。
簡單示例:
from fpdf import FPDF pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) pdf.cell(200, 10, txt="Hello, World!", ln=True, align='C') pdf.output("simple_doc.pdf")
五、 PDF 轉換
需要將 PDF 轉換為其他格式(如 Word, HTML, 圖片)或 從其他格式生成 PDF:
1.pdf2docx
定位: 專門將 PDF 轉換為 .docx文件 (Microsoft Word)。
主要功能:
- 盡力保留原始 PDF 的文本、格式、表格、圖片和布局到 Word 文檔中。
優點:
- 專注于 PDF->DOCX 轉換,效果通常比通用庫或在線工具更好。
- API 相對簡單。
缺點:
- 轉換復雜 PDF 時仍可能丟失格式或布局。
- 僅做轉換,不做其他操作。
適用場景: 需要將 PDF 內容導入 Word 進行進一步編輯。
簡單示例:
from pdf2docx import Converter cv = Converter('input.pdf') cv.convert('output.docx') cv.close()
2.PyMuPDF(fitz)
再次上榜!它也能很好地將 PDF 頁面轉換為圖片 (PNG, JPG 等):
import fitz doc = fitz.open("document.pdf") page = doc[0] pix = page.get_pixmap(matrix=fitz.Matrix(2, 2)) # 縮放因子 2x pix.save("page0.png") doc.close()
3.pdfminer.six
- 可用于將 PDF 轉換為 HTML 或 XML 等文本格式。
4.專用命令行工具 + subprocess
- 對于復雜的轉換(如高質量 PDF->HTML),有時調用成熟的命令行工具如
pdftohtml(Poppler 工具集的一部分) 或wkhtmltopdf(HTML->PDF) 通過 Python 的subprocess模塊來執行,可能是更可靠或更高質量的選擇。
特別注意:轉換格式就像把鈍刀放上角磨機——是磨利了,但難免有損耗(格式丟失)。
六、 商業解決方案
如果需要更穩定、功能更全面的 PDF 操作庫(尤其是企業級應用),商業庫通常是更好的選擇。它們通常提供更完善的格式支持和更高的轉換質量,并有專業技術支持。唯一的不足通常是價格,但在它們提供的價值面前總是十分值得。
Spire.PDF for Python 商業版
定位: Spire.PDF for Python 是 E-iceblue 提供的全功能商業級PDF解決方案,在免費版基礎上解除限制并增強專業能力。
核心優勢:
- 無頁數限制:支持任意頁數的PDF處理與轉換
- 格式轉換增強:
- PDF 轉 Word/Excel/HTML 時保留復雜格式和布局
- 高質量 PDF 轉圖像(支持多種格式和 DPI 設置)
- 反向轉換:Office 文檔轉 PDF(保留超鏈接、表格樣式等)
- 高級編輯能力:
- 深度修改現有 PDF 內容(文本/圖像替換)
- 動態表單生成與處理
- 數字簽名與加密強化
- 企業級支持:
- 專業技術支持與版本維護
- 定期功能更新與安全補丁
- 商業使用授權保障
適用場景:
- 企業級文檔自動化系統
- 需要處理大型PDF(100+頁)的項目
- 對轉換質量和格式保真度要求高的場景
- 需要專業技術支持的商業應用
2. ReportLab Plus
定位: ReportLab開源庫的商業增強版,專注于PDF生成領域。
核心優勢:
- 高級報表生成功能(動態圖表、復雜表格)
- 專業技術支持和服務
- 增強的PDF/A標準支持
- 企業級部署工具
適用場景:
- 需要生成極其復雜的動態報表
- 已有ReportLab基礎需專業支持
- 符合嚴格PDF/A歸檔標準的需求
實事求是的講,商業級的庫往往具有較大的前期投入,但相對應的功能也會更豐富,支持也會更有保障,而當你使用它們創造了價值,這點付出就會顯得非常值得了。
總結與選型建議
主要方案對比:
|
你的主要需求 |
推薦庫 |
關鍵考慮 |
|
基礎操作 (合并/拆分/旋轉/加密) |
|
簡單易用,純 Python |
|
|
高性能,功能更全 |
|
|
|
商業級API,穩定規范,商業特色功能 |
|
|
精確文本提取 (帶位置/布局信息) |
|
高精度,分析友好,基于 |
|
|
速度快,信息豐富 |
|
|
表格數據提取 |
|
專精表格,輸出 DataFrame |
|
|
成熟 |
|
|
|
內置不錯的表格提取功能 |
|
|
生成新 PDF (報告/文檔) |
|
功能強大專業,但學習曲線陡峭 |
|
|
輕量簡單,快速上手 |
|
|
|
|
|
|
處理注釋/表單/書簽/渲染圖片 |
|
功能全面 |
|
PDF -> Word (.docx) |
|
專注轉換,效果較好 |
|
PDF -> 圖片 |
|
高質量,高性能 |
|
PDF -> HTML/XML |
|
|
|
需要“一個庫解決大部分問題” |
|
性能高,功能覆蓋廣,注意 AGPL 協議 |
|
|
企業級支持、無限制處理、合規授權 |
商業方案對比:
|
特性 |
Spire.PDF for Python |
ReportLab Plus |
|
核心定位 |
全功能PDF處理解決方案 |
高級PDF生成工具 |
|
核心優勢 |
讀取/編輯/生成/轉換四位一體 |
行業領先的PDF生成能力 |
|
PDF處理能力 |
完整文檔操作(合并/拆分/加密等) |
僅限生成新文檔 |
|
文本提取精度 |
高保真提取(保留格式和位置) |
不提供文本提取功能 |
|
表格處理 |
動態表格生成+現有表格提取 |
高級表格生成(僅限新建) |
|
格式轉換 |
PDF?Word/Excel/HTML/圖像 |
不支持 |
|
數字簽名/加密 |
完整支持(含時間戳證書) |
基礎支持 |
|
現有文檔修改 |
深度內容編輯(文本/圖像替換) |
不支持 |
|
跨平臺支持 |
Windows/Linux/macOS/國產系統 |
跨平臺 |
|
學習曲線 |
中等(.NET風格API) |
陡峭(復雜布局系統) |
|
授權模式 |
永久授權、訂閱 |
純訂閱制 |
|
性價比優勢 |
單次投入解決全流程需求 |
需搭配其他庫完成完整工作流 |
選型建議:
- 選擇 Spire.PDF 當你需要:
- 選擇 ReportLab Plus 當你需要:
- 端到端PDF解決方案(從處理到生成)
- 高性價比的永久授權模式
- 現有文檔修改與格式轉換需求
- 極端復雜的動態報告生成
- 已有ReportLab經驗且只需生成功能
- 預算充足的純PDF生成場景
技術提示:Spire.PDF的獨特價值在于將文檔處理、轉換和生成整合在統一API下,減少多庫集成復雜度。
重要提示
- PDF 是“終點格式”:
- PDF 本質上是為呈現設計的,不是為編輯設計的。程序化修改現有 PDF 的內容結構通常非常困難且容易出錯。大部分庫的“編輯”能力都局限于頁面級操作(增刪頁、旋轉)或添加覆蓋層(水印、注釋)。
- 掃描件/圖像型 PDF:
- 上述庫主要處理文本型 PDF。如果 PDF 是掃描生成的圖片(沒有內嵌文本層,也就是那種看起來像用手機拍了一本書的照片做成的 PDF),你需要先進行 OCR (光學字符識別),例如使用
pytesseract(Google Tesseract 的封裝) +Pillow/OpenCV處理圖像,或者使用專門的 OCR 服務或庫(如easyocr,paddleocr和Spire.OCR)。 - OCR 后得到的文本,可以用
pdfplumber或PyMuPDF分析其結構(如果 OCR 工具保留了位置信息)。
- 庫的活躍度與授權:
- Python 生態變化快,關注庫的 GitHub 倉庫、PyPI 頁面或官方網站,看其最近更新時間、Issue 處理情況等,選擇維護活躍的庫。
- 注意授權協議:
PyMuPDF使用 AGPLv3 協議,商業應用需謹慎;Free Spire.PDF是免費但功能受限的商業產品;其他庫多為 MIT/BSD 等寬松協議。
再次強調! AGPL 許可證要求:“如果你分發(包括 SaaS 形式)基于 AGPL 代碼的軟件,整個作品都必須以 AGPL 許可證發布”,也就是說如果你的項目包含使用了 AGPL 許可證的代碼,那么你的一整個項目必須以 AGPL 許可證發布,并向用戶提供源代碼。
- 組合使用:
- 根據復雜需求,可能需要組合使用多個庫。例如:用
pypdf合并文件 -> 用pdfplumber提取關鍵文本和表格 -> 用ReportLab生成包含提取結果的新報告 PDF。
- 企業級需求解決方案
Free Spire.PDF旨在讓用戶體驗Spire.PDF的核心功能和 API 設計風格。對于評估和輕量級應用(單次處理 ≤ 10 頁,格式轉換 ≤ 3 頁)完全足夠。- 如需處理更大文檔或解鎖全部高級功能,E-iceblue 提供功能完整、無頁數限制、包含專業技術支持的 Spire.PDF for Python 商業版,具備以下企業級特性:
- 無限制處理:支持任意頁數文檔和復雜操作
- 優先技術支持:專業工程師團隊提供及時技術支持
- 定期更新保障:持續的功能增強和安全更新
- 商業授權保障:避免AGPL等開源協議的法律風險
- 企業定制服務:提供API定制和專屬功能開發
- 商業支持選擇:
- 對于需要長期穩定運行的企業系統,商業庫提供更可靠的技術支持和持續更新。Spire.PDF商業版以其全面的功能覆蓋和合理的授權模式,特別適合需要處理多種PDF任務的中大型企業。
- 先試再定:
- 對于你的特定文檔和任務,最好的方法是用候選庫寫個小腳本實際測試一下效果。不同庫對同一份“復雜”PDF 的處理結果可能有顯著差異。
開始探索
建議根據你的核心任務,從推薦庫中選擇 1-2 個,查閱它們的官方文檔和示例代碼開始動手實踐:
- pypdf
- PyMuPDF (fitz)
- Free Spire.PDF for Python
- pdfplumber
- camelot
- ReportLab
- fpdf2
- pdfminer.six
- Spire.PDF for Python 商業版
- ReportLab Plus
== 希望這篇詳盡的指南能幫助你在 Python 的 PDF 操作世界中找到得心應手的工具!祝你編碼愉快!==

浙公網安備 33010602011771號