用途:从 PDF 文件中提取内容,包括文本、表格、元数据与图像,适用于读取、总结和分析 PDF 的场景。
主要能力:使用 pdftotext(Poppler)提取文本,pdfplumber(Python)提取表格与结构化数据,pdfinfo 读取元数据与页数,pdfimages 列出或导出图像,pdffonts 检查字体,Tesseract 对扫描件做 OCR。附带 scripts/extract.py 提供 tables、ocr、text、scan 等模式。
使用方式:若提供 URL,先下载:curl -sL "URL" -o /tmp/document.pdf,再用 file 与 pdfinfo 校验。全文用 pdftotext file.pdf -;保留版式用 pdftotext -layout file.pdf -;指定页用 pdftotext -f 3 -l 5 file.pdf -。表格用 python3 scripts/extract.py tables file.pdf。元数据用 pdfinfo file.pdf。图像用 pdfimages -png file.pdf /tmp/images/img。扫描件用 python3 scripts/extract.py text file.pdf 自动回退 OCR,或 python3 scripts/extract.py ocr file.pdf 强制 OCR,可加 --pages 1-5、--dpi 400、--lang eng+nor。加密 PDF 可用 pdftotext -upw "password" 或 -opw "password"。编码问题用 -enc UTF-8。
适用场景:普通文本 PDF、多栏排版文档、含表格的结构化数据、扫描件、混合型 PDF、需要元数据或图像提取的文档。
限制:大 PDF 建议分页提取,避免超出上下文;OCR 依赖 Tesseract 语言包,可用 tesseract --list-langs 查看,Homebrew 可 brew install tesseract-lang;OCR 速度受 --dpi 影响;扫描件需 OCR 才能获得文本;密码保护文件需提供密码。