Como posso encontrar as diferenças em arquivos PDF visualmente idênticos? [duplicado]

1

Eu tenho dois arquivos PDF que parecem iguais quando visualizados ou impressos, o que diff diz ser binário e diferente. Como posso descobrir quais são as diferenças?

Eu prefiro uma resposta que será executada no Mac OS X ou no OpenSUSE.

    
por ShadSterling 28.08.2013 / 19:14

2 respostas

0

Em shells que suportam Substituto de processo (visto em Q317819 ), diff pode receber a saída de qualquer comando que gere uma representação de texto - por exemplo, exiftool :

diff -u <(exiftool -a -v one.pdf) <(exiftool -a -v two.pdf)

A sugestão de strings de Stefan também gera uma representação de texto e pode ser usada da mesma maneira :

diff -u <(strings one.pdf) <(strings two.pdf)

A saída de exiftool ou strings é relativamente legível, mas não representa o arquivo inteiro. exiftool mostra apenas metadados e strings mostra apenas trechos com 4 ou mais bytes de texto ASCII válido; diferenças que não são reconhecidas como metadados ou como strings ASCII não serão encontradas. Uma representação de texto ilegível, mas completa, pode ser feita com od :

diff -u <(od -vcw one.pdf) <(od -vcw two.pdf)

(Se od não estiver disponível, uma representação de texto ainda menos legível, mas ainda completa, poderá ser feita com hexdump ou hexcat ; em MacPorts , a implementação GNU de od my será instalada como god . Nem todas as implementações suportam as mesmas opções.

O aparente melhor método disponível para ver todas as diferenças e ver o significado de tantas diferenças quanto possível é usar cada uma delas nos mesmos dois arquivos.

Eu acredito que todo sistema operacional de desktop moderno que não seja o Windows possui um shell que suporta a Substituição de Processos instalada por padrão; vários desses shells estão disponíveis para o Windows, mas você terá que passar por alguns obstáculos para que eles funcionem.

    
por 31.08.2013 / 01:16
0

Para começar, eu tentaria strings nesses arquivos e passaria por grep "rdf" para ver o que acontece.

strings x.pdf | grep "rdf"
    
por 28.08.2013 / 19:26