normalize-id-scan-pdf について
見づらい身分証スキャンPDFを、読みやすく持ち運びやすいPDFに整えるワークフロースキルです。スクリプトでページの配置を調整して出力を検証し、元ファイルを保持します。ローカルで閲覧できる場合は最終確認も行います。
主な機能
- 01元のPDFから変換
- 02回転と拡大縮小の選択
- 03ページ配置の検証
- 04余白に応じた自動再試行
- 05完成ファイルの確認手順
活用シーン
- 01身分証スキャンの欠けの修正
- 02スキャン内容をページ余白内に配置
- 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.yamlreferences/naming-convention.mdscripts/fix_id_scan_pdf.py詳細
ID スキャン PDF を正規化する
概要
不適切な ID スキャン PDF を、読みやすく持ち運びやすい出力 PDF に変換します。場当たり的な手動調整ではなく、決定論的な変換と自動検証を優先してください。
ワークフロー
- bronze のソースファイルを使用します。上書きしないでください。
pypdfが利用できない場合は、システムのインタープリターには触れず、ローカルに仮想環境を作成して、そこでpypdfをインストールします。- ソース PDF に対して
python "${CODEX_HOME:-$HOME/.codex}/skills/normalize-id-scan-pdf/scripts/fix_id_scan_pdf.py" ...を実行します。 - スクリプトの出力パスとジオメトリの概要を確認します。
- 出力がまだ見切れている場合や、ページが適切に使われていない場合は、再び bronze ファイルからやり直します。silver または gold の出力を繰り返し変換しないでください。
- PDF のセルフチェックに合格したら、ローカルのブラウザーまたはデスクトップから開ける場合は、最終的な人手による確認のため、gold PDF をローカルで開きます。Chrome がインストールされていて利用可能な場合は、Chrome を優先してください。
コマンドの形式
次を使用します。
python fix_id_scan_pdf.py "/path/to/source.pdf" --output-dir "/path/to/output"
よく使うオプション:
--page-mode portrait:縦向きページを維持し、その中でコンテンツを回転します。これはデフォルトであり、このスキルのきっかけとなった ID スキャンのような用途で安全な選択です。--margin-pt 24:出力がページ端に寄らないよう、視覚的な固定余白を確保します。--doc-type personal_id:gold ファイル名の書類種別スラッグを指定します。--gold-name arthur_zakirov__personal_id.pdf:正式な納品ファイル名がすでに分かっている場合に、推定された gold ファイル名を上書きします。
検証ルール
このスクリプトは、初回修正ツールであると同時に、ジオメトリ検証ツールとして扱う必要があります。
- 埋め込み画像とテキストの原点から、コンテンツの可視領域を測定します。
- 指定された向きのページ内でページを最大限に活用できる回転と拡大縮小率を選択します。
- 変換を書き込んだ後、出力ページを再測定します。
- 出力が指定された余白を超える場合は、収まるまで自動的に拡大縮小率を下げて再試行します。
- すでに修正済みの PDF に変換を重ねるのではなく、オプションを調整して bronze から再実行してください。
ファイル名を決める必要がある場合は、references/naming-convention.md を参照してください。
最終確認
gold ファイルを作成したら、確認のために開いてみてください。
- Chrome が利用可能な場合は Chrome を優先します。それ以外の場合は、マシンに応じてローカルのブラウザーまたはデスクトップから開く手段(
xdg-open、open、powershell.exe、またはインストール済みのブラウザー自動化スキル)を使用します。 - 環境で GUI への昇格アクセスが必要な場合は、承認を求めてください。
- ローカルで開けない場合は、確認できたふりをせず、最終パスを明確に報告してください。
コメント
Markdown 対応