Skip to content

剖析PDF檔內容

PDF 檔案中的文字可以透過 Python 套件 提取,例如:

  • PyPDF2 → 適用於大多數標準 PDF
  • pdfplumber → 解析格式較複雜的 PDF(推薦)
  • pdfminer.six → 適用於需要高度解析的 PDF

🔹 方法 1:使用 PyPDF2(適用於大部分 PDF)

PyPDF2 可以提取 PDF 內的純文字

import PyPDF2

# 開啟 PDF 檔案
with open("example.pdf", "rb") as pdf_file:
    reader = PyPDF2.PdfReader(pdf_file)

    # 讀取每一頁的文字
    text = ""
    for page in reader.pages:
        text += page.extract_text() + "\n"

print(text)  # 印出 PDF 內的文字

適用:一般 PDF,可處理標準文字
限制:格式可能會亂掉,無法處理掃描型 PDF


🔹 方法 2:使用 pdfplumber(適用於表格與格式較複雜的 PDF)

import pdfplumber

# 開啟 PDF
with pdfplumber.open("example.pdf") as pdf:
    text = ""
    for page in pdf.pages:
        text += page.extract_text() + "\n"

print(text)

適用:能處理 表格、欄位對齊的內容,格式較穩定
限制:仍無法處理掃描 PDF


🔹 方法 3:使用 pdfminer.six(適用於高精度解析)

from pdfminer.high_level import extract_text

text = extract_text("example.pdf")
print(text)

適用:更準確解析文字、格式
限制:比 PyPDF2 慢,API 較複雜


📌 總結

方法 適用情境 優點 缺點
PyPDF2 一般 PDF 簡單易用 格式可能會亂
pdfplumber 表格、格式複雜的 PDF 解析準確度較高 速度稍慢
pdfminer.six 需要高度解析 更準確保留格式 API 較複雜

如果你有 一般的 PDF 文件,推薦 pdfplumberPyPDF2

參考資料