You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac使用anonympy匿名化PDF遇poppler路径错误求解决

解决M1 Mac上anonympy的poppler路径问题

你遇到的FileNotFoundError是因为指定的poppler路径不正确——pdf2image依赖的是poppler的bin目录(存放pdfinfo等可执行文件的文件夹),而不是poppler的根安装目录。

Homebrew安装的poppler,其可执行文件都在/opt/homebrew/Cellar/poppler/24.04.0/bin路径下,修正代码中的poppler_path即可解决:

from anonympy.pdf import pdfAnonymizer

anonym = pdfAnonymizer(
    path_to_pdf = "test.pdf", 
    pytesseract_path = "/opt/homebrew/Cellar/tesseract/5.3.4_1/bin/tesseract",
    poppler_path = "/opt/homebrew/Cellar/poppler/24.04.0/bin"  # 添加/bin后缀
)

anonym.anonymize(
    output_path = 'output.pdf',
    remove_metadata = True,
    fill = 'black',
    outline = 'black'
)

更稳妥的方式是直接用Homebrew的统一软链接路径/opt/homebrew/bin,这个路径包含所有Homebrew安装工具的可执行文件,即使poppler版本更新也不用修改路径:

poppler_path = "/opt/homebrew/bin"
适合简历类PDF的自动匿名化Python方案

正则匹配表单内容的方式局限性大,推荐以下更可靠的方案(均适合学生项目非商业用途):

  • spaCy + PyMuPDF组合:

    1. 用PyMuPDF(fitz库)读取PDF,提取每页文本的同时获取对应字符的坐标位置
    2. 加载spaCy预训练NER模型(如en_core_web_sm),识别文本中的姓名、邮箱、电话、地址等个人实体
    3. 根据实体坐标在PDF页面上绘制黑色矩形覆盖敏感内容
    4. 保存修改后的PDF
  • Presidio匿名化工具:
    微软的Presidio专门针对敏感数据匿名化,支持识别数十种个人信息类型。可以结合PyMuPDF提取PDF内容,用Presidio识别实体后再定位覆盖。

  • OCR+NER处理扫描版简历:
    如果是扫描生成的PDF,先用tesseract OCR提取文本,再用NER模型识别敏感实体,接着将PDF转成图片并涂黑对应区域,最后重新生成PDF。

内容的提问来源于stack exchange,提问作者johnjorgenson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 10:56:23