Versionskontrolle für PDFs mit Annotationen

Versionskontrolle für PDFs mit Annotationen

Ich habe viele wichtige PDF-Dateien. Ich kann sie nur ändern, indem ich Anmerkungen hinzufüge/entferne. Gibt es eine effiziente Möglichkeit, die Versionskontrolle für solche Dateien durchzuführen? Ich kann vielleicht Standardtools wie SVN/Git verwenden. Ich habe gehört, dass SVN selbst für Binärdateien nur Deltas speichert. Wären die Deltas im Fall von SVN/GIT riesig, wenn ich nur Anmerkungen in einer PDF-Datei ändern würde? Ich vermute, sie werden nicht riesig sein, aber ich bin nicht sicher, wie Anmerkungen in PDF-Dateien gespeichert werden und wie intelligent die Delta-Algorithmen sind.

Antwort1

In einem aktiven Projekt verwenden wir Git für die Verteilung und Versionskontrolle. Einige der Dateien sind PDF-Dateien, und das funktioniert ganz gut. Wie bereits gesagt, gibt es keine Möglichkeit, Deltas zu erstellen.

Eine Möglichkeit, die jedoch mit Deltas funktionieren könnte, wäre, die Kommentare zu exportieren, die als FDF ausgegeben werden, und dann die Versionskontrolle mit diesen Exportdateien durchzuführen. FDF kann, wenn die Kommentare nicht zu groß sind, reine Textdateien sein; Sie müssten jedoch Tests durchführen.

Antwort2

Sie können PDFs entpacken miteine Reihe von Werkzeugen(qpdf, pdftk, mutool, cpdf). Beispiel:

pdftk original.pdf output uncompressed.pdf uncompress

Dadurch sollte das PDF in einem Format vorliegen, in dem Sie Anmerkungen als Klartext sehen und vergleichen können. Die unkomprimierte Datei besteht normalerweise größtenteils aus ASCII-Zeichen, kann aber dennoch Binärdaten enthalten. Sie müssen testen, wie das mit der Versionskontrollsoftware Ihrer Wahl funktioniert und ob es mit den „eingebetteten“ Binärdaten gut funktioniert.

Die Frage ist, was passiert, wenn Sie Anmerkungen ändern (ich nehme an, mit einem GUI-Editor), die Datei speichern und dekomprimieren. Wenn Sie Glück haben, ist die Datei bis auf die Anmerkungen weitgehend unverändert, aber das ist nicht garantiert. Sie müssen Ihre Softwarekombination mit Bedacht auswählen.

Antwort3

Mir ist keine native Versionierung von PDF-Dateien bekannt (und meiner Google-Suche auch nicht). PDF-Dateien (laut Wikipedia) sind binär. Delta-Speicher funktioniert nur mit Textdateien (wie Quellcodedateien und Readme-Dateien).

Ich habe Erfahrung mit SVN und Git. Ich empfehle die Verwendung von Git, da es über bessere Komprimierungsfunktionen verfügt und ein verteiltes Versionskontrollsystem ist. Subversion ist ein zentralisiertes Versionskontrollsystem, was bedeutet, dass Sie einen Server benötigen, um es auszuführen. Sie könnten die SVN-Serversoftware auf Ihrem Computer installieren, aber das ist den Aufwand wahrscheinlich nicht wert. Verteilte Versionskontrollsysteme funktionieren über lokale Repositories (d. h. es ist kein Server erforderlich).

verwandte Informationen