skills/pdf-processor/SKILL.md
PDF 处理工具,支持扫描件预处理、OCR 双层 PDF、页码添加、PDF 合并、解密、水印去除和压缩。本技能应在用户需要一键处理、优化或整理 PDF 文档时使用。不要用于:纯文本 PDF 内容编辑、PDF 阅读与批注、电子签名、非压缩目的的格式转换。
npx skillsauth add cat-xierluo/legal-skills pdf-processorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本技能是 PDF 处理的统一入口,覆盖扫描件预处理、OCR 双层 PDF 生成、页码添加、PDF 合并、解密、水印去除和压缩。优先保护原始文件,按用户意图选择最短可用流程。
核心职责:
本技能不做纯文本 PDF 内容编辑、PDF 阅读批注、电子签名、非压缩目的的格式转换。
_1、_2 等序号。--preprocess-only。python3 scripts/pdf-preprocess-ocr.py --input input.pdf --output output.pdf
默认 medium 合并输出为约 200 DPI、JPEG 质量 72、色度子采样 1,优先兼顾法院上传体积和放大阅读清晰度。文件大小限制很严时使用:
python3 scripts/pdf-preprocess-ocr.py --input input.pdf --output output.pdf --compress-level high
页面方向已正确的大批量扫描件可提速:
python3 scripts/pdf-preprocess-ocr.py --input input.pdf --output output.pdf \
--skip-coarse-rotation --preprocess-jobs 6 --preprocess-chunk-pages 80
python3 scripts/pdf-preprocess-ocr.py --input input.pdf --output output.pdf --preprocess-only
只做页面矫正、不压缩、不 OCR:
python3 scripts/pdf-preprocess-ocr.py --input input.pdf --output output.pdf \
--preprocess-only --no-compress
python3 scripts/pdf-ocr.py --input input.pdf --output output.pdf
默认后端为 auto:优先按 --api-order、OCR_API_ORDER 或 config/.env 顺序调用 PaddleOCR / MinerU API;外部 API 不可用时回退本地 ocrmypdf。
# 强制本地兜底
python3 scripts/pdf-ocr.py -i input.pdf -o output.pdf --backend local_ocrmypdf
# 强制 PaddleOCR API
python3 scripts/pdf-ocr.py -i input.pdf -o output.pdf --backend paddle_api
# 强制 MinerU API
python3 scripts/pdf-ocr.py -i input.pdf -o output.pdf --backend mineru_api
后端选择、API 配置和协议细节见 references/ocr-backend-guide.md、references/paddleocr-api-guide.md、references/mineru-api-guide.md。
# 手动旋转
python3 scripts/pdf-rotate.py --input input.pdf --output output.pdf --angle 90
# 解密
python3 scripts/pdf-decrypt.py --input input.pdf --output output.pdf
python3 scripts/pdf-decrypt.py --input input.pdf --output output.pdf --password 123456
# 去水印
python3 scripts/pdf-remove-watermark.py --input input.pdf --output output.pdf
# 压缩
python3 scripts/pdf-compress.py -i input.pdf -o output.pdf --level medium
# 加页码
python3 scripts/pdf-add-page-numbers.py -i input.pdf -o output.pdf
# 合并
python3 scripts/pdf-merge.py -i file1.pdf file2.pdf file3.pdf -o merged.pdf
python3 scripts/pdf-merge.py -i file1.pdf file2.pdf -o merged.pdf --add-numbers --continuous
页码、合并、压缩等详细参数见 references/pdf-workflows.md。
pip install pymupdf pypdf pillow numpy opencv-python pdf2image
macOS:
brew install poppler
Linux:
sudo apt-get install poppler-utils
pip install ocrmypdf
macOS:
brew install tesseract tesseract-lang
Linux:
sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim
完整可选依赖清单见 references/optional-dependencies.txt。历史保留的本地 Paddle 双层实现已拆到 scripts/pdf_ocr_paddle_local.py,不属于默认生产链路;需要实验时再安装 paddleocr paddlepaddle 并单独接入。
python3 scripts/pdf-ocr-quality-check.py -i output.pdf --keyword 合同,法院
python3 scripts/pdf-ocr-benchmark.py \
-i input.pdf \
--backend local_ocrmypdf \
--sample-pages 5 \
--skip-coarse-rotation \
--preprocess-jobs 6 \
--preprocess-chunk-pages 80
常见问题见 references/troubleshooting.md。
data-ai
当用户要求你并行推进多个任务、一次性开多个 worker/agent 同时工作、用 tmux 启动多个独立 session、防止 PM 直接实现逃逸、或者你作为 PM 需要拆解并派发任务给多个独立 worker 时使用。触发词包括"并行推进""开多个""同时推进""派 worker""多 agent 并行""开 worker""tmux 启动""独立 session""防逃逸""分派任务""一起做"。不要用于单个短任务、跨平台任务状态管理、或 Git 分支/提交/PR/merge 安全规则。
tools
本技能应在 GitHub 项目发布新版本时使用,覆盖版本号管理、CHANGELOG 同步、Release Notes 撰写、tag 创建、CI 构建监控、发布验证和历史清理全流程。适用于桌面应用、CLI 工具、Web 应用、库/SDK 等任何基于 GitHub 的软件项目。当用户提到"发布"、"release"、"打 tag"、"新版本"、"更新版本号"、"写 release notes"、"发布失败了"、"CI 挂了"时触发。不要用于非 GitHub 项目(如纯 GitLab / Gitea 项目)或无需 CI 的手动发布场景。
content-media
本技能应在用户需要 OCR、扫描识别、图片文字识别、文档识别,或将 PDF、图片、Office 文档、URL 转换为 Markdown 时使用。检测到法律材料时可进行保守的法律术语与文书结构优化。不要用于法律事实判断、补写缺失内容、语义改写、印章深度识别或图表实体分析。
tools
将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。