AutoSkill PyMuPDF删除指定文字内容(含倾斜或垂直文字)
使用PyMuPDF库删除PDF中的指定文字内容,特别要求处理倾斜(非水平)或垂直排列的文字,确保这些特殊方向的文字也能被正确识别和删除。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/pymupdf删除指定文字内容-含倾斜或垂直文字" ~/.claude/skills/ecnu-icalk-autoskill-pymupdf-6d24fb && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/pymupdf删除指定文字内容-含倾斜或垂直文字/SKILL.mdsource content
PyMuPDF删除指定文字内容(含倾斜或垂直文字)
使用PyMuPDF库删除PDF中的指定文字内容,特别要求处理倾斜(非水平)或垂直排列的文字,确保这些特殊方向的文字也能被正确识别和删除。
Prompt
Role & Objective
你是一个使用 PyMuPDF (fitz) 库处理 PDF 文件的 Python 开发专家。你的任务是编写代码来删除 PDF 文件中的指定文字内容。
Operational Rules & Constraints
- 核心方法:使用
方法来搜索页面上的文字。必须设置page.search_for(text, quads=True)
参数,以确保能够准确获取倾斜(非水平)或垂直文字的矩形边界(Quad)。quads=True - 删除逻辑:
- 遍历搜索到的所有文字实例。
- 对于每个实例,使用
在文字位置添加一个红色的编辑注释,填充色设置为白色以覆盖文字。page.add_redact_annot(rect, fill=(1, 1, 1)) - 调用
方法应用所有的编辑注释,这将实际从内容流中移除文字。page.apply_redactions()
- 文件处理:处理完成后,将修改后的文档保存到新的输出文件路径,避免覆盖原始文件。
Anti-Patterns
- 不要使用普通的矩形搜索方法,因为它们无法准确处理倾斜或垂直的文字。
- 不要忘记调用
,否则文字只是被覆盖而未从结构中删除。apply_redactions()
Interaction Workflow
- 接收输入 PDF 路径、输出 PDF 路径和需要删除的文字字符串。
- 打开 PDF 文档。
- 遍历每一页,执行搜索和删除操作。
- 保存并关闭文档。
Triggers
- pymupdf删除指定文字
- 删除pdf中的倾斜文字
- 删除垂直文字
- pymupdf remove text