注釈付きPDFのバージョン管理

注釈付きPDFのバージョン管理

重要な PDF ファイルがたくさんあります。それらを変更する唯一の方法は、注釈の追加/削除です。このようなファイルのバージョン管理を効率的に行う方法はありますか。おそらく、SVN/Git などの標準ツールを使用できます。SVN はバイナリ ファイルでもデルタのみを保存すると聞きました。SVN/GIT の場合、PDF ファイルで注釈を変更するだけの場合、デルタは巨大になりますか? 巨大にはならないと思いますが、PDF ファイルに注釈がどのように保存されるか、デルタ アルゴリズムがどれだけスマートであるかはわかりません。

答え1

アクティブなプロジェクトでは、配布とバージョン管理に git を使用しています。ファイルの一部は PDF ですが、非常にうまく機能しています。前述のように、デルタを実行する方法はありません。

ただし、デルタで機能する可能性がある 1 つの方法は、FDF として出力されるコメントをエクスポートし、これらのエクスポート ファイルを使用してバージョン管理を行うことです。コメントが大きすぎない場合、FDF はプレーン テキスト ファイルになることがあります。ただし、テストを実行する必要があります。

答え2

PDFを解凍するにはさまざまなツール(qpdf、pdftk、mutool、cpdf)。例:

pdftk original.pdf output uncompressed.pdf uncompress

これにより、注釈をプレーンテキストとして表示および比較できる形式の PDF が提供されます。圧縮されていないファイルは通常、大部分が ASCII 文字で構成されますが、バイナリ データが含まれている可能性があります。選択したバージョン管理ソフトウェアでそれがどのように機能するか、および「埋め込まれた」バイナリ データで適切に動作するかどうかをテストする必要があります。

問題は、注釈を変更し (GUI エディタを使用すると思います)、ファイルを保存して解凍するとどうなるかということです。運が良ければ、注釈を除いてファイルはほぼ同じになりますが、保証はありません。ソフトウェアの組み合わせは慎重に選択する必要があります。

答え3

PDF ファイルでのネイティブ バージョン管理については知りません (Google 検索でも同様です)。PDF ファイルは (Wikipedia によると) バイナリです。デルタ ストレージはテキスト ファイル (ソース コード ファイルや Readme ファイルなど) でのみ機能します。

私は SVN と Git の使用経験があります。圧縮機能が優れており、分散型バージョン管理システムである Git の使用をお勧めします。Subversion は集中型バージョン管理システムであるため、実行するにはサーバーが必要です。SVN サーバー ソフトウェアをコンピューターにインストールすることもできますが、オーバーヘッドに見合う価値はないでしょう。分散型バージョン管理システムは、ローカル リポジトリを介して機能します (つまり、サーバーは不要です)。

関連情報