重要な 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 サーバー ソフトウェアをコンピューターにインストールすることもできますが、オーバーヘッドに見合う価値はないでしょう。分散型バージョン管理システムは、ローカル リポジトリを介して機能します (つまり、サーバーは不要です)。