mcpField
N
normalize-id-scan-pdf

normalize-id-scan-pdf

github.com/arthurzakirov文档处理0162 次安装5 周前更新
代码仓库

关于 normalize-id-scan-pdf

一项工作流技能,用于将版面不佳的证件扫描 PDF 转换为清晰、便于携带的 PDF。它通过脚本调整页面几何并验证输出,同时保留原始文件;本地可查看时还需进行最终检查。

主要功能

  1. 01从源 PDF 开始转换
  2. 02选择旋转方向与缩放
  3. 03验证页面几何
  4. 04按页边距自动重试
  5. 05指导检查最终文件

适用场景

  1. 01修正证件扫描页的内容裁切
  2. 02使扫描内容适配页面边距
  3. 03准备经过验证的交付 PDF

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/arthurzakirov/opportunityos --skill normalize-id-scan-pdf

安装后在 Claude Code 中输入/normalize-id-scan-pdf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
naming-convention.md
scripts/
fix_id_scan_pdf.py

详细介绍

规范化身份证扫描 PDF

概述

将质量不佳的身份证扫描 PDF 转换为清晰、便于携带的输出 PDF。优先采用确定性转换并进行自主验证,而不是临时手动调整。

工作流

  1. 使用青铜源文件。不要覆盖它。
  2. 如果无法使用 pypdf,请创建本地 virtualenv 并在其中安装 pypdf,不要动系统解释器。
  3. 对源 PDF 运行 python "${CODEX_HOME:-$HOME/.codex}/skills/normalize-id-scan-pdf/scripts/fix_id_scan_pdf.py" ...。
  4. 检查脚本输出的路径和几何摘要。
  5. 如果输出仍有裁切,或页面利用不佳,请重新从青铜源文件开始迭代。不要继续转换白银或黄金输出。
  6. PDF 通过自检后,如果本地浏览器或桌面环境允许打开文件,请在本地打开黄金 PDF 进行最终人工审核。若已安装且可访问 Chrome,优先使用它。

命令格式

使用:

python fix_id_scan_pdf.py "/path/to/source.pdf" --output-dir "/path/to/output"

常用选项:

  • --page-mode portrait:保留纵向页面,并在页面内旋转内容。这是默认选项,也是适用于促成本工具诞生的这类身份证扫描件的安全选择。
  • --margin-pt 24:预留固定的视觉边距,避免输出内容贴近页面边缘。
  • --doc-type personal_id:指定黄金文件名中的文档类型标识。
  • --gold-name arthur_zakirov__personal_id.pdf:如果已知规范的交付文件名,可覆盖推断出的黄金文件名。

验证规则

必须将脚本视为初步修复工具和几何验证器。

  • 根据嵌入的图像和文本原点测量可见内容框。
  • 选择能在指定方向内最大限度利用页面的旋转角度和缩放比例。
  • 写入变换后,重新测量输出页面。
  • 如果输出超出指定边距,则减小缩放比例并自动重试,直到内容符合要求。
  • 优先从青铜源文件重新运行并调整选项,而不是在先前修复的 PDF 上叠加变换。

如果需要决定文件名,请阅读 references/naming-convention.md。

最终审核

生成黄金文件后,尝试打开它进行审核。

  • 优先使用 Chrome。否则,根据机器环境使用相应的本地浏览器或桌面打开方式:xdg-open、open、powershell.exe,或已安装的浏览器自动化工具。
  • 如果环境要求提升 GUI 访问权限,请先请求批准。
  • 如果无法在本地打开,请明确报告最终路径,不要假称已完成审核。

评论

支持 Markdown