macos上一个好用的PDF文字提取工具方案

PDF 文字提取工具使用说明

环境信息

  • 系统:macOS 12.7.6 (x86_64)
  • Python:3.12(venv 虚拟环境)
  • paddlepaddle:2.6.2
  • paddleocr:2.6.1.3
  • PyMuPDF:1.27.2.3

虚拟环境

所有依赖安装在 ~/pdf_ocr_env 虚拟环境中,需要先激活才能使用。

激活环境

bash 复制代码
source ~/pdf_ocr_env/bin/activate

退出环境

bash 复制代码
deactivate

不激活环境直接运行

bash 复制代码
~/pdf_ocr_env/bin/python extract_pdf_ocr.py

使用方法

1. 命令行运行

bash 复制代码
source ~/pdf_ocr_env/bin/activate
python extract_pdf_ocr.py

2. 修改 PDF 路径

编辑 extract_pdf_ocr.py,修改最后一行的 PDF 文件路径:

python 复制代码
if __name__ == "__main__":
    pdf_path = "/你的路径/你的文件.pdf"  # 改成你的 PDF 路径
    result = extract_pdf_text(pdf_path)
    print(result)

3. 在其他脚本中调用

python 复制代码
import sys
sys.path.insert(0, "/Users/wjr/Desktop/work/Ai/pdf")
from extract_pdf_ocr import extract_pdf_text

result = extract_pdf_text("/你的路径/你的文件.pdf")
print(result)

提取逻辑

  1. 用 PyMuPDF 打开 PDF,逐页渲染为图片(300 DPI)
  2. 用 PaddleOCR 识别每页图片中的文字
  3. 输出所有页面的文字内容

本工具采用纯 OCR 方式提取,适用于文本层编码异常或扫描件 PDF。

常见问题

No module named 'fitz'

用了系统 Python 而不是 venv。用 ~/pdf_ocr_env/bin/python 或先 source ~/pdf_ocr_env/bin/activate。

MuPDF error: zlib error: incorrect header check

警告信息,不影响结果,可忽略。

OCR 结果为空

检查 PDF 是否为纯图片且 DPI 过低,可尝试将 dpi=300 改为 dpi=600 提高识别率。

相关推荐
huaweichenai3 天前
spring boot操作PDF
java·spring boot·pdf
开开心心就好3 天前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
泡海椒4 天前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
黑化旺仔4 天前
【OC】KVO
macos·ios·objective-c·cocoa
泡海椒5 天前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
Liekkas Kono5 天前
macOS 27 安装 VMware Fusion 和 Win11 经验
macos·win11·vmware
泡海椒5 天前
jquick-pdf 表格行列尺寸控制实战:单元格合并的可行边界
java·开发语言·pdf
java_logo6 天前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
泡海椒6 天前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf
泡海椒6 天前
jquick-pdf 文本元素实战:段落、行内文本、制表符用法详解
java·开发语言·pdf