2つのPDFファイルの文字を比較して、異なる部分をハイライト表示します。
2つのPDFファイルの違いを自動的に比較するツールはありますが、ほとんど同じテキストでないと上手に違いを検出することは出来ません。 段落構成を見直したようなPDFファイルを比較するときは、思ったページ同士が比較されずページの再指定が必要になります。 このPDFCompはマニュアル操作に特化しページを素早く移動して、1ページずつ確認していくためのアプリケーションです。
PDFComp 2.6.0 ブックマーク操作を強化しました。ズーム関連のちらつきや不具合を修正しました。
- Microsoft Windows 11(22H2) with .NET Framework 4.8
releaseからZIPファイルをダウンロードして、PDFComp.exeを実行します。
- 'Open' ボタンで 2つのpdfファイルを開きます. (もしくはファイルをドロップ)
- '<<' と '>>' ボタンで 同時に2つのPDFファイルのページを移動します. (左右の矢印キー)
- '<' と '>' ボタンは、それぞれのPDFファイルのページを移動します. (CTRL+矢印キー、ALT+矢印キー)
- '<-' と '->'ボタンは、2つのPDFファイルを比較しながら差異のあるページまで移動します.
- 'Compare page' ボタンを押すと、ページの差異をハイライト表示します. (スペースキー)
- 'Clear markers' のコンテキストメニューで、ハイライト表示している差分マーカーをクリアします.
- 'Copy text' のコンテキストメニューでテキストをコピーします.
- 'Copy' メニューは PDFイメージやしおりのテキストをコピーします. 'Enable color reduction copy'メニューにチェックをつけると、イメージコピー時に256色に減色します.
- 'Find...' メニューは、テキスト検索のためのウインドウを開きます. それぞれのPDFを検索できます.
スペースキーを連打すると、差異の部分が点滅します. PanモードはつかんでPDFをスクロールできます. Textモードは文字を選択してコピーできます. BoundsモードはそれぞれのPDFの比較対象を指定できます。以前の結果を残したまま新しい比較をします。
「1ページに合わせる」では、ウィンドウのサイズに合わせてPDFファイルの表示が変わります。 「幅に合わせる」では、ウィンドウの横幅に合わせてPDFファイルの表示が変わります。
PDFComp wiki にもヒントが載っていますので、ご覧ください。
このプログラムはC#で開発されており、次の環境でビルドされました。
- Microsoft Windows 11(22H2) with .NET Framework 4.8
- Microsoft Visual Studio Community 2022
- PdfiumViewer - PdfiumViewer is a PDF viewer based on the PDFium project.
- diff-match-patch - Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
- MingCute Icon - MingCute is a set of simple and exquisite open-source icon library.
また本プログラムでリンクしている [PdfiumViewer]はフォークしたカスタム版のPdfiumViewerを使用しています.
[PDFComp]とカスタム版の[PdfiumViewer]のソースコードをダウンロードして、Visual Studioのソリューションファイルを開きます。 'ソリューションのNuGetパッケージの管理'メニューから次のパッケージをインストールします。
- PdfiemViewer.Native.x86_xx.xxxx
[PDFComp]のソリューションから、カスタム版のPdfiumViewer.csprojを参照しているため、カスタム版の[PdfiumViewer]は、[PDFComp]と同じ階層のフォルダに展開しておく必要があります。
最後に PDFCompプロジェクトをビルドします。
このプロジェクトは the Apache License, Version2.0 のもとでライセンスされています.