Надежный способ (программно) сравнить PDF-файлы?

Возможный дубликат:
Инструмент для сравнения большое количество файлов PDF?

Я нахожусь в классическом сценарии, когда бизнес дает вам кучу новых форм в формате PDF на новый год без каких-либо примечаний к изменениям, и вы должны выяснить, что отличается от форм предыдущего года.

Я говорю здесь о множестве форм, поэтому я пытаюсь найти способ сравнить PDF-файлы, чтобы выделить различия, не заставляя людей вручную просматривать каждую из них.

Моя идея состояла в том, чтобы извлечь весь текст из PDF-файлов и сбросить его в .txt, а затем запустить различия в текстовых файлах, но это звучит ужасно.

В моем вопросе говорится о программном обеспечении, но я был бы рад любым надежным инструментам для сравнения PDF-файлов и, в основном, стремился получить представление об опыте людей. Также готовы рассмотреть любые программные решения (желательно на C#, но, пожалуйста, выдвигайте любые идеи).


person JohnIdol    schedule 30.09.2010    source источник
comment
Почему это дубликат? ясно, что вопрос задан о том, как это сделать программно. Любое количество устанавливаемых инструментов не является ответом на этот вопрос.   -  person Vin    schedule 30.03.2014


Ответы (4)


Существует довольно много программных продуктов, которые утверждают, что могут сравнивать PDF-файлы. У меня никогда не было необходимости использовать его, но если это будет повторяющийся процесс, я думаю, что для вашей компании было бы разумно инвестировать в один из них. Просто погуглите «pdf diff» для множества потенциальных приложений.

Кроме того, ваша ситуация очень похожа на этот вопрос: Инструмент для сравнения большого количества файлов PDF? Я думаю, что его обсуждение может помочь.

person Sorax    schedule 30.09.2010
comment
спасибо за это - этот вопрос действительно очень похож (почему-то не возник, когда я сочинял свой). - person JohnIdol; 01.10.2010

Я разработчик библиотеки Docotic.Pdf. Мы используем сравнение PDF в модульных тестах, чтобы убедиться, что тест создает PDF, как и ожидалось. PDF — это набор специальных объектов, и мы сравниваем все объекты PDF, игнорируя некоторые свойства, такие как идентификаторы трейлеров и информацию о создателях. Эта реализация работает нормально.

Вы можете попробовать метод PdfDocument.DocumentsAreEqual. Этот метод просто говорит вам, что документы одинаковы, без особых различий. Вы можете связаться с нами, если вам нужна дополнительная функциональность.

person Vitaliy Shibaev    schedule 02.10.2010

Я выбрал подход к получению необработанных данных из PDF, а затем использовал Word, TortiseSVN, WinMerge и т. д., чтобы позаботиться о части сравнения. В моем случае я провел сравнение в RichTextBox на C#... окрашивая различия и т. д., поскольку мы хотели, чтобы все это было в нашем приложении.

Вот что я сделал... сравнение PDF как я пытался сравнить смешанные документы, Word и PDF.

Однако я бы рекомендовал PDFBox для синтаксического анализа, немного более элегантный... хотя iTextSharp работал нормально...

person Aaron McIver    schedule 30.09.2010

Я написал в блоге несколько подходов к сравнению PDF-файлов по адресу https://blog.idrsolutions.com/2010/09/comparing-2-pdf-files/

person mark stephens    schedule 01.10.2010
comment
преобразовать PDF в изображение, а затем сравнить и по-прежнему требуется вмешательство человека? Чем это тогда полезно? - person vsingh; 08.12.2010
comment
Программное обеспечение может сказать вам, не изменились ли они, чтобы вы знали, что ничего не сломали. Любые изменения может оценить только человек. - person mark stephens; 09.12.2010