Ferramenta para comparar um grande número de arquivos PDF? [fechadas]
Pergunta
Eu preciso comparar grande contagem de arquivos PDF para que o conteúdo óptica. Como os arquivos PDF foi criado em plataformas diferentes e com diferentes versões do software existem diferenças estruturais. Por exemplo:
- o chunking de texto pode ser diferente
- a ordem de gravação pode ser diferente
- A posição pode ser diferir alguns pixels
Deve comparar o conteúdo como um povo humanos e não a estrutura interna. Quero teste para regressões entre diferentes versões do gerador de PDF que usamos.
Solução
Porque não existe tal ferramenta disponível que temos escrito um. Você pode baixar o i-net conteúdo PDF comparer e usá-lo. Espero que ajuda outros com o mesmo problema. Se você tiver problemas com ele ou você tem um feedback para nós, então você pode entrar em contato com o nosso apoio.
Outras dicas
Há realmente uma ferramenta diffpdf.
http://www.qtrac.eu/diffpdf.html
A sua fraqueza é que não reagem bem quando adições fazer nova mudança de texto parcialmente para uma nova página. Por exemplo, se o velho página 4 deve ser comparado com o final da página 5 eo início da página 6, você precisa mudar parâmetros para comparar as duas fatias separadamente.
Eu usei um script caseiro que
- converte todas as páginas em dois PDFs para bitmaps
- cores páginas de PDF 1 a vermelho sobre branco
- muda de branco para transparente em páginas de PDF 2
- sobrepõe cada página do PDF 2 no topo da página correspondente da PDF 1
- corre conversão / coloração e sobrepondo em paralelo em múltiplos núcleos
Software utilizado:
- GhostScript para conversão de PDF-to-bitmap
- ImageMagick para a coloração, transparência e sobreposição
- inotify para a sincronização de processos paralelos
- qualquer visualizador de imagens PNG com capacidade para rever o resultado
Pros:
- implementação simples
- todas as ferramentas utilizadas são open source
- grande para encontrar pequenas diferenças no layout
Contras:
- a conversão é lenta ??li>
- principais diferenças entre PDF (por exemplo, paginação) resulta em uma confusão
- bitmaps não são zoomable
- só funciona bem para preto-e-branco de texto e diagramas
- não fácil de usar GUI
Eu estive procurando uma ferramenta que faria o mesmo no nível de PDF / PostScript.
Veja como nosso script invoca os utilitários (note que ImageMagick usa GhostScript nos bastidores para fazer o PDF-> conversão PNG):
$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images
Eu não parecem ser capazes de ver isso aqui, então aqui está: via superusuário: Como comparar as diferenças entre dois arquivos PDF? (Resposta # 229891, por @slestak) , há
https://github.com/vslavik/diff-pdf
(etapas de construção para Ubuntu Natty pode ser encontrado em get-diff-pdf.sh )
Tanto quanto eu posso ver, ele basicamente sobrepõe o texto / gráficos de cada página do pdf (s), permitindo que você facilmente ver se havia algum muda ...
Felicidades!
Também usei pdftotext (ver resposta de Sklivvz) para gerar versões ASCII de PDFs e wdiff para compará-los.
interruptor -layout
de Uso pdftotext para melhorar a legibilidade e ter uma idéia de mudanças no layout.
Para obter a saída de cor agradável de wdiff, use este script wrapper:
#!/bin/sh
RED=$'\e'"[1;31m"
GREEN=$'\e'"[1;32m"
RESET=$'\e'"[0m"
wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2
Eu acho que a melhor abordagem seria a de converter o PDF para imagens com uma resolução decente e de fazer uma imagem comparar.
Para gerar imagens a partir de PDF que você pode usar Adobe PDF Library ou a solução sugerida pelo melhor maneira de arquivos PDF Converter para arquivos TIFF .
Para comparar os arquivos TIFF gerados achei GNU tiffcmp (para Windows parte do GnuWin32 tiff ) e tiffinfo fez um bom trabalho. Use tiffcmp -l e contagem do número de linhas de saída para encontrar as diferenças. Se você está feliz de ter uma pequena quantidade de alteração de conteúdo (por exemplo, diferenças anti-aliasing), em seguida, usar tiffinfo para contar o número total de pixels e você pode, então, gerar um valor de diferença percentual.
Pela maneira para qualquer um que faz a comparação PDF simples, onde a estrutura não mudou é possível usar a linha de comando diff e ignorar certos padrões, por exemplo, com GNU diff 2.7:
diff --brief -I xap: -I xapMM: -I /CreationDate -I /BaseFont -I /ID --binary --text
Este ainda tem o problema que ele não sempre pegar mudanças em nomes de fontes gerados.
O nosso produto, PDF Comparador - http://www.premediasystems.com/pdfc.html" - vai fazer isso muito elegante e eficiente também não é livre, e é um Mac OS X única aplicação
..Com base em suas necessidades, um convertido ao solução texto seria o mais fácil e mais direto. Eu achava que a idéia bitmap foi muito legal.
software pdf Bluebeam vai fazer isso para você
Você pode batch pdf comparar arquivos com Tarkware Pdf Comparer. Mas não é gratuito e não requer Adobe Acrobat.