用途:把质量差或排版别扭的身份证件扫描 PDF 转成可读、便于携带的输出 PDF。主张用确定性变换加自动校验,而非手工反复调整。
主要能力:脚本作为首轮修复器兼几何校验器,从内嵌图像和文字原点测量可见内容框,在指定方向内选择最大化页面利用率的旋转与缩放,写入变换后重新测量输出页;若超出所设边距则自动缩小比例重试直至适配。
使用方式:始终基于 bronze 源文件操作,不要覆盖它。若缺少 pypdf,创建本地虚拟环境并在其中安装,不要改动系统解释器。运行 python "${CODEX_HOME:-$HOME/.codex}/skills/normalize-id-scan-pdf/scripts/fix_id_scan_pdf.py" ... 处理源 PDF,查看脚本输出的路径与几何摘要。命令模式: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 文件名文档类型 slug)、--gold-name arthur_zakirov__personal_id.pdf(已知规范交付名时覆盖推断名)。若输出仍被裁剪或页面利用不佳,从 bronze 文件重新迭代,不要继续变换 silver 或 gold 输出。需要文件名决策时阅读 references/naming-convention.md。
最终复核:生成 gold 文件后尝试本地打开复核,优先 Chrome;否则用与机器匹配的本地浏览器或桌面打开方式,如 xdg-open、open、powershell.exe 或已安装的浏览器自动化技能。环境需要提升的 GUI 权限时应请求批准。若无法本地打开,清晰报告最终路径,不要假装已完成复核。
限制:资料未提供脚本内部实现细节、支持的具体 PDF 类型范围、性能数据及收费信息。