Потому что нет такого инструмента, который мы написали один. Вы можете загрузить приложение i-net для сравнения содержимого PDF и использовать его. Надеюсь, это поможет другим с той же проблемой. Если у вас есть проблемы с ним или у вас есть отзывы для нас, то вы можете обратиться в нашу поддержку.
Я думаю, что Ваш лучший подход должен был бы преобразовать PDF в изображения в достойном разрешении и, чем делают изображение выдерживает сравнение.
Для генерации изображений от PDF можно использовать Adobe PDF Library или решение, предложенное в Лучший способ преобразовать файлы PDF в файлы TIFF .
Для сравнения сгенерированных файлов TIFF я нашел GNU tiffcmp (для части окон GnuWin32 tiff) и , tiffinfo сделал хорошее задание. Используйте tiffcmp-l и считайте количество строк вывода для нахождения любых различий. Если Вы рады иметь небольшое количество довольных, изменение (например, сглаживающиеся различия) тогда использует tiffinfo для подсчета общего количества пикселей, и можно тогда сгенерировать значение процентной разницы.
Между прочим для любого делающего простое сравнение PDF, где структура не изменилась, возможно использовать разность командной строки и проигнорировать определенные шаблоны, например, с разностью GNU 2.7:
diff --brief -I xap: -I xapMM: -I /CreationDate -I /BaseFont -I /ID --binary --text
Это все еще имеет проблему, что она не всегда ловит изменения в сгенерированных именах шрифтов.
Мы также использовали pdftotext (см. Ответ Sklivvz) для создания версий PDF-файлов в формате ASCII и wdiff для Сравните их.
Используйте переключатель -layout
в pdftotext, чтобы улучшить читаемость и получить некоторое представление об изменениях в макете.
Чтобы получить красивый цветной вывод из wdiff, используйте этот сценарий оболочки:
#!/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
Я использовал домашний сценарий, который
Используется программное обеспечение:
Плюсы:
Против:
Я искал инструмент, который бы делал то же самое на уровне PDF/PostScript.
Вот как наш скрипт ссылается на утилиты (обратите внимание, что ImageMagick использует GhostScript за кулисами для преобразования PDF->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
Вы можете пакетно сравнить pdf ] файлы с помощью Tarkware Pdf Comparer. Но это не бесплатно и требует Adobe Acrobat.
Наш продукт, PDF Comparator - http://www.premediasystems.com/pdfc.html" - сделает это довольно элегантно и эффективно. Он также не является бесплатным и предназначен только для Mac OS X.