株式会社プレラナ
難易度 低〜中印刷現場・製造確認・チェックの負担が大きい

修正前後PDFの自動差分検版と指摘反映チェックリストの生成

初校と再校のPDFをプログラムで比較し、テキストと画像の差分を一覧化して、修正指示が漏れなく反映されたかを確認します。

印刷の現場で、修正前後PDFの自動差分検版と指摘反映チェックリストの生成に取り組んでいる様子
対象部署
制作部(DTP・検版)
使う技術
Python(PyMuPDF によるテキスト抽出と座標取得。AGPL v3のため外部提供時はライセンス確認が必要) / 画像比較(ページを画像化して差分ピクセルを検出) / Adobe Acrobat Pro のファイル比較機能 / Claude または ChatGPT でのスクリプト生成(コードを書かずに作る)
必要な入力データ
初校PDF(修正前) / 再校PDF(修正後) / 修正指示一覧(校正紙のコメント、またはテキスト化した指示リスト) / ページ構成が変わったかどうかの情報(ページ増減の有無)

Before / After

人がやる場合と、AIを使った場合

効果だけを並べても判断できません。まず「今どうやっているか」を具体的に書きます。タブを切り替えて読み比べてください。

制作担当が初校と再校をそれぞれプリントします。検版担当が2枚を並べ、定規を当てて1行ずつ目で照合します。修正指示が12箇所なら、その12箇所を順に確認します。確認が終わっても、指示していない箇所が動いていないかを見るため、結局全ページを流し読みします。A4で16ページの冊子なら、ここだけで1時間以上かかります。実際に起きているのは、11箇所は直っていたが1箇所が未修正だった、という取りこぼしです。もう1つは、リンク画像の差し替えでレイアウトが1mmずれていたのに気づかない例です。

人がやる場合とAIを使った場合を、軸ごとに並べた表です。
比較する軸人がやる場合AIを使った場合
所要時間(想定)A4・16ページの冊子で、検版担当が60〜90分かけます。差分の生成が1〜2分、人の確認が15〜25分です(自社での実測が必要です)。
関わる人数制作担当1名が出力し、検版担当1名と確認者1名が続く3名体制になりがちです。検版担当1名が差分一覧で確認します。確認者1名は差分一覧と指示リストを突き合わせるだけになるため、従来より短時間で済みます。
起きるミス指示箇所の1つを見落とす、指示外の意図しない変更を見逃すといったことが起き、プリント代と時間もかさみます。文字組みの変化で差分が大量に出て、本質的な変更が埋もれることがあります。また、画像内の文字の差分は検出されません。
必要なスキル集中力と、どこがずれやすいかを知っている経験からの勘所が要ります。スクリプトを動かす手順の理解と、差分一覧から本質的な変更を選ぶ力が要ります。

効果の見込み

検版時間の削減幅について、信頼できる公表値を確認できませんでした。要実測です。導入前に、直近3件の案件で検版にかかった実時間を記録してください。導入後、同規模の3件で同じ計測をして比較します。あわせて「未修正の見落とし件数」も記録すると、時間より重要な効果が見えます。

Steps

実際にやること

読んだ方がそのまま試せる粒度で書いています。出し惜しみはしません。各手順の説明とプロンプト例は「くわしく見る」を開くと読めます。

  1. 01

    比較スクリプトをAIに書いてもらう

    くわしく見る

    プログラムを書いた経験がなくても構いません。ClaudeまたはChatGPTに、やりたいことと出力形式を日本語で伝えます。返ってきたコードをそのまま保存し、実行します。PythonとPyMuPDFのインストール手順も一緒に聞くと、環境構築から案内してくれます。着手前に1点だけ決めてください。PyMuPDFはAGPL v3で、商用ライセンスは別売です。自社の検版に閉じて使うのか、この仕組みを顧客向けサービスとして外部に提供するのかで条件が変わります。外部提供の可能性があるなら、先に商用ライセンスの要否を確認するか、pdfplumberやpypdfを使う前提でスクリプトを書かせてください。

    プロンプト例

    Pythonで、2つのPDFを比較するスクリプトを書いてください。プログラミング未経験なので、インストール手順から順に説明してください。
    
    やりたいこと:
    1. before.pdf と after.pdf を読み込む
    2. ページごとにテキストを抽出し、変更された箇所を「ページ番号 / 変更前 / 変更後」のCSVで出力する
    3. ページごとに画像化して重ね合わせ、差分があった領域を赤枠で囲んだPNGを out/ フォルダに保存する
    4. ページ数が違う場合はエラーで止めず、その旨を表示して処理を続ける
    
    使うライブラリ:PyMuPDF、Pillow
    コードには日本語のコメントを1行ずつ入れてください。
  2. 02

    まず既知の1件で試して、検出できるか確かめる

    くわしく見る

    いきなり本番案件に使わないでください。過去に修正が入った案件を1件選び、初校と再校を用意します。修正箇所が何箇所だったかは分かっているはずです。その全部が差分として出るかを確認します。出なかった箇所があれば、なぜ出ないのかを調べます。多くは、アウトライン化やフォント埋め込みの違いが原因です。

  3. 03

    テキスト差分と画像差分を1つのシートにまとめる

    くわしく見る

    出力されたCSVをGoogleスプレッドシートに貼り、右に「対応する修正指示番号」「確認結果」「確認者」の3列を足します。修正指示リストの側にも「対応する差分行」の列を足し、双方向で突き合わせます。片方向だけだと、指示したのに差分が出ていない箇所が抜け落ちます。

  4. 04

    差分の意味づけをAIに手伝ってもらう

    くわしく見る

    差分が50件を超えると、人が読むだけで疲れます。CSVをAIに渡し、分類させます。判断はさせず、分類だけを頼むのがコツです。

    プロンプト例

    以下は、印刷物の修正前後PDFから抽出したテキスト差分の一覧です。次の4分類に振り分け、分類列を追加した表を返してください。
    
    分類:
    A. 文言そのものが変わった(内容の修正)
    B. 表記だけが変わった(送り仮名・記号・全角半角)
    C. 改行位置や文字組みだけが変わった(内容は同一)
    D. 判断がつかない
    
    条件:
    - 内容の良し悪しは判定しないでください
    - Dに入れた行には、なぜ判断がつかないかを1行で書いてください
    
    【差分一覧】
    (CSVを貼り付け)
  5. 05

    検版記録をPDFで残し、案件フォルダに保存する

    くわしく見る

    差分一覧のシートと、赤枠付きの差分画像をまとめてPDFにします。案件フォルダに「検版記録_日付.pdf」として保存します。刷り直しが起きたとき、どの段階で見落としたかを追える状態にしておくことが目的です。この記録があると、原因が校正側か検版側かを切り分けられます。

Sample Data

この事例で使うサンプルデータ

実際に手を動かして試せるよう、サンプルを用意しています。すべて架空のデータです。お客様の実データは一切使用していません。

  • PDF

    260805_商品カタログ_初校.pdf

    差分検版の比較元となる修正前PDF。

    このファイルをダウンロード

  • PDF

    260808_商品カタログ_再校.pdf

    初校に対して修正を加えた比較先PDF。意図的に1箇所を未修正のまま残してあります。

    このファイルをダウンロード

  • CSV

    260806_修正指示一覧.csv

    クライアントから受け取った修正指示に、自社の検版確認用に「差分検出(○×)」「確認者」の2列を足したもの。差分結果と突き合わせて使います。

    このファイルをダウンロード

一式をまとめた形は、業界別レポートに同梱してお渡ししています。

Pitfalls

つまずきやすい点

精度が出ないときにどこを見るか。ここが分かるかどうかで、定着するかが決まります。見出しを開くと、確かめる箇所が読めます。

差分が数百件出て、本質的な変更が埋もれる
1文字の修正で改行位置がずれると、その段落全体が差分として出ます。原因は、テキストを行単位で比較しているためです。精度が出ないと感じたら、比較の単位を確認してください。行単位ではなく、段落を連結してから文単位で比較するようスクリプトを直すと、差分件数が大きく減ります。
アウトライン化された文字は差分として出ない
見出しやロゴをアウトライン化していると、テキスト抽出の対象外になるため、テキスト差分では検出できません。この部分は画像差分の側で拾います。テキスト差分と画像差分の両方を必ず出し、片方だけで判断しないでください。
フォントの埋め込み方が変わると全ページに差分が出る
初校と再校で書き出し設定が違うと、見た目が同じでもテキスト抽出結果が変わることがあります。全ページに差分が出たときは、まずPDFの書き出し設定を疑ってください。両方を同じ設定で書き出し直してから比較します。
指示したのに差分が出ない箇所を見逃す
差分一覧だけを見ていると、未修正の箇所は「何も出ない」ため気づけません。修正指示リストの側に「差分検出(○×)」の列を必ず設け、全指示に○がついたかを確認してください。この双方向のチェックが、刷り直しを防ぐ要になります。

Related

印刷の他の事例

次は「電子添文の改訂差分抽出と新旧対照表の作成」を読んでください。この事例の差分検出を、医療用医薬品の電子添文のように改訂対応の説明責任が求められる文書へ広げた応用編です。差分を出す仕組みは共通で、求められる記録の粒度が変わります。

印刷のページに戻る

印刷のAI活用レポートをお送りします

この事例を含む5つの活用事例と、サンプルデータをまとめた資料です。社内での共有にお使いいただけます。