controle de versão de PDFs com anotações

controle de versão de PDFs com anotações

Eu tenho muitos arquivos PDF importantes. A única maneira de modificá-los é adicionar/remover anotações. Existe uma maneira eficiente de ter controle de versão para esses arquivos. Talvez eu possa usar ferramentas padrão como SVN/Git. Ouvi dizer que o SVN armazena apenas deltas, mesmo para arquivos binários. No caso do SVN/GIT, os deltas seriam enormes se tudo que eu fizesse fosse alterar as anotações em um arquivo PDF? Acho que não serão enormes, mas não tenho certeza de como as anotações são armazenadas em arquivos PDF e quão inteligentes são os algoritmos delta.

Responder1

Em um projeto ativo, usamos git para fazer a distribuição e controle de versão. Alguns dos arquivos são PDF e funcionam muito bem. Como já foi dito, não há como fazer deltas.

Uma possibilidade, porém, que poderia funcionar com deltas, seria exportar os comentários, que saem como FDF, e depois fazer o controle de versão com esses arquivos de exportação. O FDF pode, se os comentários não forem muito grandes, ser arquivos de texto simples; você teria que executar testes, no entanto.

Responder2

Você pode descompactar PDFs comuma série de ferramentas(qpdf, pdftk, mutool, cpdf). Por exemplo:

pdftk original.pdf output uncompressed.pdf uncompress

Isso deve fornecer o PDF em um formato onde você possa ver e diferenciar as anotações como texto simples. O arquivo descompactado normalmente consiste em grande parte de caracteres ASCII, mas ainda pode conter dados binários. Você teria que testar como isso funciona com o software de controle de versão de sua escolha e se funciona bem com os dados binários "incorporados".

A questão é o que acontece quando você modifica as anotações (com um editor GUI, presumo), salva o arquivo e descompacta-o. Se você tiver sorte, o arquivo será basicamente o mesmo, exceto pelas anotações, mas isso não é garantido. Você terá que escolher sua combinação de software com sabedoria.

Responder3

Não conheço nenhum versionamento nativo com arquivos PDF (nem minha pesquisa no Google). Arquivos PDF (de acordo com a Wikipedia) são binários. O armazenamento Delta funciona apenas com arquivos de texto (como arquivos de código-fonte e arquivos leia-me).

Tenho experiência no uso de SVN e Git. Eu recomendo usar o Git, pois ele possui recursos de compactação superiores e é um sistema de controle de versão distribuído. Subversion é um sistema de controle de versão centralizado, o que significa que você precisa de um servidor para executá-lo. Você poderia instalar o software do servidor SVN em seu computador, mas provavelmente não vale a pena a sobrecarga. Os sistemas distribuídos de controle de versão funcionam através de repositórios locais (ou seja: não é necessário servidor).

informação relacionada