2つのPDFファイルの違いを比較・検出する方法:テキスト差分と視覚レイアウト比較ガイド
目次
1. 改訂差分の2大要素:意味的テキスト変更 vs 視覚的レイアウトのズレ
契約書や仕様書の改訂版を監査する際、エンジニアや法務担当者は2つの全く異なる技術層を分離して把握する必要があります:

- 意味的テキスト変更: 条項の文言修正、責任免除項目の削除、契約金額や期日の変更など、ベクターテキストストリーム内の文字変更。
- 視覚的レイアウトのズレ: 余白の2mm移動、行間微調整、フォント置換(ArialからHelveticaへの変更)、署名や押印位置の移動など。
ピクセル比較のみを行うツールでは、わずか1ピクセルの余白のズレで改行が崩れた際に「80%変更」と過剰検知してしまいます。逆にテキスト比較のみでは押印や図表の差し替えを見落とします。確実な監査には双方の視点が不可欠です。
2. スキャンPDFの技術的限界:OCRなしでテキスト差分が出ない理由
スキャンPDFにはベクターテキストストリームが存在しません: スキャンされた文書は、PDF内に埋め込まれたビットマップ画像(JPEGやTIFF)に過ぎません。文字コードが存在しないためテキスト抽出は空文字列となります。
GoToolstack PDF Compareはページごとの文字密度をリアルタイム監視します。1ページ内のテキストが10文字未満の場合は「スキャン文書」と判定し、誤解を招く0文字レポートを防ぎ、オフラインOCRツールの利用を案内します。
3. ブラウザ内3大表示モードの仕組み
すべての比較処理は外部サーバーにファイルを一切送信せず、ローカルのブラウザRAM内でのみ安全に完結します:
| 表示モード | 実行アルゴリズム | 主な強み | 技術的限界 |
|---|---|---|---|
| 並列表示(同期) | デュアルCanvas同期スクロールレンダリング | 文書全体の構成や体裁を自然な視認で把握可能。 | 微細な句読点や数字1桁の変更を見落とすリスク。 |
| テキスト差分(LCS) | Y座標行グループ化および最長共通部分列(Myers LCS)アルゴリズム | 追加(緑)および削除(赤)文字を精緻に特定。 | 図表・印影・スキャン画像の差分は検知不可。 |
| 視覚的オーバーレイ | HTML5 Canvas ImageDataによるピクセル単位RGBA差分減算 | 移動した印鑑・レイアウトの歪み・図表修正を赤く強調。 | 高感度ゆえに僅かな余白変更で全ページが赤くなる特性。 |
4. ステップ・バイ・ステップ実践比較手順
- ファイル読み込み: 元文書をドキュメントAに、改訂版をドキュメントBにドラッグ&ドロップ。順序逆転時は入れ替え(↔)を使用。
- 比較実行: ドキュメントを比較をクリック。両ファイルがメモリ上で逐次解析されます。
- サマリー確認: 総ページ数、完全一致、変更あり、追加、削除されたページ数を確認。
- 変更ページへ直行: ドロップダウンから変更や追加のあるページを選択し即座に確認。
- モード切替: 文言の変更は「テキスト差分」で、印影や図表のズレは「視覚的オーバーレイ」で検証。
- レポート保存: 変更箇所と単語数をまとめた検証用
.txtサマリーをローカルに保存。
5. ページ挿入によるオフセットズレの自動処理
改訂版に新たなページ(例:要約シート)が挿入された場合、単純比較では以降の全ページが変更扱いになってしまいます。GoToolstackはページツリーを独立して計算し、挿入ページを追加、欠落ページを削除として正しく識別します。
6. よくあるトラブルと解決策
問題1:パスワード保護または暗号化されたPDF
ブラウザエンジンはパスワードなしで暗号化辞書を解除できません。事前にPDFパスワード解除ツールで解除してください。
問題2:合字(リガチャ)の違い('fi' と 'f' + 'i')
ドキュメントAが合字(\uFB01)を1文字として記録し、ドキュメントBが2文字で記録している場合、フォント仕様の違いでありテキストの改竄ではありません。
問題3:スキャン契約書で変更箇所が0と表示される
手書きメモやスキャン画像には文字データがありません。「視覚的オーバーレイ」モードを使用するか、事前にOCRを実行してください。
7. 技術的制約および免責事項
法的鑑定・公的証明の代替ではありません: 本ツールはエンジニアリングおよび事務改訂作業を迅速化するものであり、司法鑑定や公証役場の公式証明に代わるものではありません。
- メモリ管理: 150ページ超の大規模文書でもクラッシュを防ぐため、Canvasバッファはページごとに順次解放されます。
- プライバシー保護: 文書データおよび生成レポートは端末内でのみ処理され、外部サーバーに送信されません。
技術リファレンスおよび公式標準規格
- ISO 32000-1:2008 / ISO 32000-2:2020: 文書管理 – ポータブルドキュメントフォーマット(PDF文書カタログ、AcroForm辞書、電子署名規格)。
- Eugene W. Myers (1986): An O(ND) Difference Algorithm and Its Variations – Longest Common Subsequence (LCS).
- W3C HTML5 Canvas 2D Context: canvas.toBlob() MIMEタイプ処理、ピクセル配列抽出およびメモリ制限仕様。