如何在Python中对PDF文件指定文字进行涂黑处理
实现PDF指定文字涂黑并保存的方法
工具选择
用Python的PyMuPDF(别名fitz)库就能搞定,它对PDF的文本搜索和编辑支持很友好,操作简单高效。
步骤1:安装依赖
在命令行执行:
pip install pymupdf
步骤2:编写代码实现涂黑
以下是完整的可运行代码,替换路径和目标文字即可使用:
import fitz def redact_target_text(input_pdf_path, output_pdf_path, target_text): # 打开原PDF doc = fitz.open(input_pdf_path) # 逐页处理 for page in doc: # 搜索当前页中所有匹配目标文字的区域 match_rects = page.search_for(target_text) # 给每个匹配区域添加黑色填充的涂黑标记 for rect in match_rects: page.add_redact_annot(rect, fill=(0, 0, 0)) # 应用所有涂黑操作 page.apply_redactions() # 保存修改后的PDF doc.save(output_pdf_path) doc.close() # 调用示例:替换成你的PDF路径和要涂黑的文字 redact_target_text("原始文档.pdf", "处理后文档.pdf", "需要隐藏的敏感文字")
关键说明
search_for(target_text):会返回当前页中所有匹配文字的矩形坐标,精准定位文字位置。add_redact_annot(rect, fill=(0,0,0)):创建涂黑注释,fill参数设置为黑色(RGB值),完全覆盖文字。apply_redactions():必须调用这个方法,才能让涂黑操作真正生效。
特殊情况处理
如果是扫描版PDF(图片格式的PDF),需要先通过OCR识别文字位置,再进行涂黑。可以结合pytesseract库实现:
- 先安装依赖:
pip install pytesseract pillow - 代码中需要先对每页图片做OCR,提取文字和对应坐标,再用同样的涂黑方法处理。
内容的提问来源于stack exchange,提问作者Dion
相关产品推荐
相关产品推荐

