PDFを比較
2つのPDFをドロップすると、テキスト内容が1行ずつ比較され、追加・削除された箇所がハイライト 表示されます。
クリックまたは元のPDFをドロップ
クリックまたは変更後のPDFをドロップ
両方のPDFをドロップすると比較結果が表示されます。
仕組み
各PDFは、Firefoxがpdfのレンダリングに使っているのと同じエンジンであるpdf.jsで読み込まれ、
各ページのコンテンツストリームを走査してgetTextContent()で埋め込みテキストを収集します。
得られた2つのテキストは行に分割され、noritoのテキスト差分チェッカー
ツールの背後にあるのと同じ最長共通部分列(LCS)による差分アルゴリズムにかけられます。これにより、
単純に行の位置同士を比較する(1つの段落を挿入しただけで以降の全行が変更扱いになってしまう)
のではなく、2つの文書の違いを説明できる最小限の行の追加・削除のセットが見つかります。
PDFのテキスト抽出全般に言えることですが、結果はそのPDFが実際にテキストを含んでいるかどうかに 依存します。スキャンされたページは画像であり、比較には何も寄与しません。抽出も差分計算もすべて このブラウザタブ内で行われ、どちらのファイルもアップロードされません。
よくある質問
レイアウトやデザインも比較しますか、それともテキストだけですか?
テキスト内容だけです。各PDFに埋め込まれたテキストを抽出して差分を取るため、文言の変更、段落の追加・削除、数値の編集は検出できますが、フォントの変更や周囲のテキストが同じまま画像だけが移動したような見た目だけの変更は検出できません。
スキャンしたPDFでも使えますか?
いいえ。スキャンしたページは埋め込みテキストのない画像なので、そのPDFがすでにOCR処理を経ていない限り、抽出したり比較したりできるものがありません。
私のPDFはどこかにアップロードされますか?
いいえ。両方のファイルはすべてブラウザ内で読み込まれ、比較されます。アップロードは一切行われません。比較対象が契約書や下書きである場合、これは重要なポイントです。