Я думаю, что ваш лучший подход - преобразовать PDF в изображения с приличным разрешением, а затем сравнить изображения.
Для создания изображений из PDF вы можете использовать Adobe PDF Library или решение, предложенное в Best way для преобразования файлов PDF в файлы TIFF .
Чтобы сравнить сгенерированные файлы TIFF, я нашел GNU tiffcmp (для окон - часть GnuWin32 tiff ), и tiffinfo хорошо поработал. Используйте tiffcmp -l и подсчитайте количество строк вывода, чтобы найти различия. Если вас устраивает небольшое изменение содержимого (например, различия сглаживания), используйте tiffinfo для подсчета общего количества пикселей, и затем вы можете сгенерировать значение процентной разницы.
Кстати, для тех, кто выполняет простое сравнение PDF-файлов, структура которых не изменилась, можно использовать diff из командной строки и игнорировать определенные шаблоны, например, с GNU diff 2.7:
diff --brief -I xap: -I xapMM: -I / CreationDate -I / BaseFont -I / ID --binary --text
По-прежнему существует проблема, заключающаяся в том, что он не всегда улавливает изменения в сгенерированных именах шрифтов.