контроль версий для PDF-файлов с аннотациями

контроль версий для PDF-файлов с аннотациями

У меня много важных файлов PDF. Единственный способ их изменить — это добавить/удалить аннотации. Есть ли эффективный способ иметь контроль версий для таких файлов? Возможно, я могу использовать стандартные инструменты, такие как SVN/Git. Я слышал, что SVN хранит только дельты даже для двоичных файлов. В случае SVN/GIT, будут ли дельты огромными, если все, что я сделаю, это изменю аннотации в файле PDF? Я думаю, они не будут огромными, но я не уверен, как аннотации хранятся в файлах PDF и насколько умны алгоритмы дельты.

решение1

В активном проекте мы используем git для распространения и контроля версий. Некоторые файлы — PDF, и это работает довольно хорошо. Как уже было сказано, нет возможности делать дельты.

Однако одна из возможностей, которая может работать с дельтами, — экспортировать комментарии, которые выходят в виде FDF, а затем осуществлять контроль версий с этими экспортированными файлами. FDF может, если комментарии не слишком большие, быть обычными текстовыми файлами; однако вам придется запустить тесты.

решение2

Вы можете распаковать PDF-файлы с помощьюряд инструментов(qpdf, pdftk, mutool, cpdf). Например:

pdftk original.pdf output uncompressed.pdf uncompress

Это должно дать вам PDF в формате, в котором вы можете видеть и различать аннотации как обычный текст. Несжатый файл обычно будет состоять в основном из символов ASCII, но он все еще может содержать двоичные данные. Вам придется проверить, как это работает с программным обеспечением для контроля версий по вашему выбору и хорошо ли оно работает со «внедренными» двоичными данными.

Вопрос в том, что происходит, когда вы изменяете аннотации (с помощью графического редактора, я полагаю), сохраняете файл и распаковываете его. Если вам повезет, файл будет в основном таким же, за исключением аннотаций, но это не гарантировано. Вам придется выбирать комбинацию программного обеспечения с умом.

решение3

Я не знаю ни одного собственного версионирования для файлов PDF (и мой поиск в Google не знает). Файлы PDF (согласно Википедии) являются бинарными. Хранилище Delta работает только с текстовыми файлами (например, файлами исходного кода и файлами readme).

У меня есть опыт использования SVN и Git. Я рекомендую использовать Git, так как он обладает превосходными возможностями сжатия и является распределенной системой управления версиями. Subversion — это централизованная система управления версиями, что означает, что для ее работы вам нужен сервер. Вы можете установить программное обеспечение сервера SVN на свой компьютер, но это, вероятно, не стоит накладных расходов. Распределенные системы управления версиями работают через локальные репозитории (т. е. сервер не требуется).

Связанный контент