Как сравнить различия между двумя PDF-файлами в Windows?

395429
Nelson Reis

Знаете ли вы хороший способ сравнить PDF-файлы бок о бок и показать изменения между ними?

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

191
Связанный: http://stackoverflow.com/questions/145657/tool-to-compare-large-numbers-of-pdf-files Epaga 12 лет назад 1
Есть БЕСПЛАТНАЯ библиотека для сравнения pdf пиксель за пикселем. Проверьте этот блог: http://www.testautomationguru.com/introduction-pdfutil-to-compare-pdf-files-extract-resources/ Vinoth S 9 лет назад 0

17 ответов на вопрос

163
emacsomancer

На Linux и Windows вы можете использовать diffpdf(что отличается от diff-pdfупомянутого в этой теме).

enter image description here

На Ubuntu установить с помощью:

sudo apt-get install diffpdf 

Смотрите далее эту страницу UbuntuGeek о сравнении pds текстуально или визуально .

Для Windows эта версия Diffpdf для Windows работает очень хорошо. Вы можете скачать с http://soft.rubypdf.com/software/diffpdf (прокрутите вниз до статической версии Win32 ).

Собственное имя - ** DiffPDF ** (как видно на скриншоте), оно основано на библиотеке Qt 4 и Poppler, поэтому оно _is_ portable. См. Домашнюю страницу DiffPDF: http://www.qtrac.eu/diffpdf.html. Информация о сборке Windows находится здесь: http://soft.rubypdf.com/software/diffpdf. И ваша инструкция по установке работает на Debian тоже. przemoc 13 лет назад 12
В diffpdf, похоже, отсутствуют некоторые отличия на моей машине с Ubuntu Lucid. Matt Alexander 12 лет назад 0
На домашней странице DiffPDF теперь есть ссылки для Linux, установщика Windows и Mac DMG, а также для установки (http://www.qtrac.eu/diffpdf.html). studgeek 12 лет назад 3
На момент написания этой статьи DiffPdf для Windows имел небольшую проблему, когда 2 PDF-файла различались по длине - оба заканчивались, когда у них был более короткий. Например, если у меня есть одностраничный документ PDF, и кто-то добавил его местами, чтобы довести его до 2 страниц, diff сравнивает первую страницу каждой и не показывает вторую страницу с добавленными частями. , Chris Moschini 11 лет назад 1
Пробовал DiffPDF, но, кажется, не соответствует блокам, которые двигаются (как обычный инструмент сравнения) - не очень полезно. Umber Ferrule 10 лет назад 1
DiffPDF - наиболее продвинутый инструмент, представленный здесь, на мой взгляд. Он не только предлагает хорошее графическое сравнение, но и отслеживает изменения более умно, чем другие, например, xdocdiff для WinMerge. Однако у него есть одна серьезная проблема: он ограничивает сравнение страницами. Это означает, что если у вас есть какой-то текст на странице 2 документа A, но этот текст перемещается на страницу 3 в документе B, то инструмент считает, что он ушел в A и добавлен в B. caw 10 лет назад 5
Для решения проблемы @ MarcoW. Вам необходимо настроить инструкцию сравнения страниц вверху. Это должно быть `1-1,2-3` для A и` 1-1,3-3` для B. Кроме того, версия 3.x является несвободной, непереносимой и медленнее, чем версия 2.x в Ссылка @ przemoc, так что я не уверен, что есть причина использовать ее. Quail 10 лет назад 1
Более старые бесплатные версии можно найти [здесь] (http://www.qtrac.eu/diffpdf-foss.html). Shafik Yaghmour 10 лет назад 5
Я попытался использовать это для романа, который я экспортирую в PDF. К сожалению, инструмент потерял след примерно через 10 страниц и считал, что все «по-другому», хотя большие отрывки были точно такими же. Eric J. 8 лет назад 2
Версия OSX может быть собрана из исходного кода. Это легко сделать с помощью команды ./build_osx.sh из этого источника: https://github.com/Speakus/diffpdf Speakus 8 лет назад 0
101
Kenneth Cochran

Try WinMerge with the xdocdiff plugin. Both are completely free. No strings attached.


A couple of the comments below suggest they don't see any difference. That means the plug-in isn't installed correctly. Here's how:

  1. Put the files where the xdocdiff plugin's readme file says to put them (there are two places; I won't list them here as filenames can change, etc. — read the readme)

  2. In WinMerge, go to Plugins > List and tick the "Enable Plugins" checkbox (this step is missing from the xdocdiff readme)

  3. In WinMerge, choose Plugins > Automatic Unpacking (this was disabled prior to step 2)

Then when comparing, you'll see what look like text files in the comparison windows.

Попробовал это, но не увидел никакой разницы, когда не использовал плагин xdocdiff. Есть ли возможность выбрать в пользовательском интерфейсе WinMerge? Umber Ferrule 12 лет назад 0
Какова цель просмотра двоичного текста в PDF? Я ожидал увидеть визуальные различия, как это сделано в [i-net PDFC] (http://superuser.com/a/470207/85542). JJD 11 лет назад 1
Был ли способ сделать эту ручку разрывов столбцов? Без этого одна смена переходит в несколько. Stuart 11 лет назад 0
`Плагины> Перечислите и установите флажок" Включить плагины "- вот чего мне не хватало! Seph 10 лет назад 1
Многие символы отсутствуют в текстовых версиях PDF-файлов, показанных в окнах различий WinMerge cja 6 лет назад 0
Существует также плагин для TortoiseSVN, который работает хорошо: http://freemind.s57.xrea.com/xdocdiff/e/index.html Mike Rowley 6 лет назад 0
37
slestak

Я недавно нашел это, и мне это нравится.

https://github.com/vslavik/diff-pdf

Кроссплатформенный, бесплатный и хорошо работает.

Вот снимок экрана diff-pdfв действии - обратите внимание, что текст в PDF не отличается, а только шрифты (и, соответственно, настройки макета):

diff-pdf.png

Призыв получить это изображение был:

diff-pdf --view testA.pdf testB.pdf 

 

... где testA.pdf / testB.pdf получают путем компиляции этого простого латексного файла с помощью pdflatex(соответственно для каждого pdf см. комментарий):

\documentclass[12pt]   % without mathpazo: testA.pdf \usepackage % with mathpazo: testB.pdf \usepackage   \title \author  \begin  \maketitle  \lipsum[1-3]  \end 
Еще одно примечание о `diff-pdf`: [DiffPDF] (http://superuser.com/questions/46123/how-to-compare-the-differences-between-two-pdf-files/287107#287107) отлично подходит для быстрого визуального сравнения измененного текста, но практически невозможно отладить такие вещи, как, например, небольшие изменения в межстрочном интервале - `diff-pdf`, с другой стороны, в основном помещает содержимое страницы из обоих сравниваемых файлы на той же странице (но с другим цветом) - так что проблемы с межстрочным интервалом могут быть легко определены ... Ура! sdaau 13 лет назад 8
Это замечательно! Есть ли способ отслеживать прогресс при работе с большими файлами при выводе в файл PDF (без использования параметра --view)? Подробная опция / v, похоже, ничего не делает. Кроме того, когда вы запускаете команду для создания PDF для сравнения, она запускается в отдельном процессе, поэтому она не приостанавливает командную строку, как обычно происходит, когда вы выполняете что-то из этой подсказки. LukeS 7 лет назад 0
Это тот, который мне был нужен. Я сравниваю отчеты в формате PDF о числовых казнях, поэтому я ищу различия в одной цифре на целой странице. Проблема в том, что я не могу определить голубые символы, но, зная, где разница, достаточно найти ее в исходных отчетах. manuelvigarcia 7 лет назад 0
22
Epaga

We also needed to compare PDFs at our company and were not satisfied with any of the solutions we found, so we made our own: i-net PDFC. It's not free, but we do offer a 30-day trial.

It's written in Java, so it's cross-platform.

screenshot

What makes it special is that it compares the content as opposed to only the text (or just converting the pdf to an image and comparing the image). It also has a nice visual comparison tool.

Хорошая часть программного обеспечения. Umber Ferrule 12 лет назад 1
Я не мог заставить это работать. Загрузил два файла и нажал на кнопку сравнения, и ничего не происходит. Craig Fisher 8 лет назад 0
Правильно обрабатывает различия между страницами. Имеет функции экспорта / печати. Различные профили сравнения (в том числе кастомные). Наведите курсор мыши, чтобы узнать больше о том, что изменилось. Выглядит отлично. Недостатками являются проба / стоимость и они не справляются с ходами. Определенно превосходит инструменты с более высоким рейтингом IMO. Jonathan Gawrych 6 лет назад 1
@JonathanGawrych спасибо за добрые слова! Что именно вы подразумеваете под "ходами"? Может быть, мы могли бы добавить эту функциональность ... Epaga 6 лет назад 0
@Epaga Если часть текста перемещается с одной страницы на другую, она отображается как удаление и дополнение. Например, сравните предложения C ++ [N4663] (https://isocpp.org/files/papers/N4663.pdf) и [N4680] (http://www.open-std.org/jtc1/sc22/wg21/docs/ документы / 2017 / n4680.pdf). Смотрите страницу 19, пример перенесен из пункта 11 в пункт 8, однако он рассматривается как добавление / удаление. Чтобы увидеть реальные различия, нужно вручную обнаружить что-то перемещенное, а затем скопировать пример в другой инструмент сравнения, чтобы увидеть, что что-то было добавлено в пример (unhandled_exception, return_void и т. Д.) Jonathan Gawrych 6 лет назад 0
yowsers это программное обеспечение за 200 долларов в год! voxobscuro 6 лет назад 0
12
Babak Farrokhi

Вы также можете использовать Adobe Acrobat X. Он имеет встроенную функцию сравнения PDF в «Просмотр -> Сравнить документы».

Acrobat или Acrobat Reader? программное обеспечение Reader не имеет этого Jason S 11 лет назад 1
AcrobatX Pro - единственная версия, которая имеет эту функцию. «Просто обычный AcrobatX» не делает. Carl Witthoft 11 лет назад 4
В Acrobat 9 Pro он находится в меню «Документ». svinto 11 лет назад 2
http://www.adobe.com/products/acrobat/file-compare-two-pdf-files.html Iman Abidi 9 лет назад 1
8
philfreo

I wanted to do this (diff PDFs) recently with these requirements:

  • ignore whitespace, line breaks, page breaks, etc.
  • easily see when just a couple words that changed, not just entire lines/paragraphs.
  • color diff output

I installed pdftotext, wdiff, and colordiff, available in various package managers. (With macports: sudo port install poppler wdiff colordiff)

Then:

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

Now I can see which words, nicely colored, have changed.

More details: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

Variation:

Using dwdiff can produce slightly better results.

I also wanted HTML output so this tiny script makes a basic web page with a bit of CSS.

bash pc-script.bash old.pdf new.pdf > q.htlm

Then open q.html with your web browser.

pc-script.bash file:

#!/bin/bash OLD="$1" NEW="$2" cat <<EOF <html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style> .plus { color: green; background: #E7E7E7; } .minus { color: red; background: #D7D7D7; text-decoration: line-through; } </style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre> EOF dwdiff -i -A best -P \ --start-delete='<span class="minus">' --stop-delete='</span>' \ --start-insert='<span class="plus" >' --stop-insert='</span>' \ <( pdftotext -enc UTF-8 -layout "$OLD" - ) \ <( pdftotext -enc UTF-8 -layout "$NEW" - ) \ cat <<EOF </pre></body></html> EOF 

An example of output can be seen here

7
sgmoore

If you are comparing text inside a pdf, then Beyond Compare does this.

Not free, but there is a thirty day trial.

Да, `New> Text Compare` помог мне увидеть основные различия в тексте между двумя PDF-файлами. Ryan 6 лет назад 0
6

Great tool and easy to use : Compare-It v4 (from http://www.grigsoft.com/)

Compares many different kind of files. It has some built-in converters, including one for PDF files.

I've used it quite a few times with satisfying results.

Really should try this. Trial version allows comparison for unlimited time.

Это было лучшим и самым легким для меня. Спасибо! Ankur Jain 12 лет назад 1
Easiest and most simple tool I found to use. I wish I could upvote this more than once! Chad 9 лет назад 0
Для PDF сравнение кажется текстовым. Последний выпуск в 2010 году. Вы можете заплатить за это, но уверены, в чем разница - я не видел никаких ограничений? Zitrax 9 лет назад 0
2
Robert

Не знаю, но есть также ComparePDF (не бесплатно, но возможна 30-дневная пробная версия): http://www.compare-pdf.com/download.htm

1
William Hilsum

Бесплатно, не самый лучший, но ...

Я открываю оба документа и разделяю их друг на друга.

Не самое практичное решение, но оно работает!

Я не видел хорошего пакета DIFF для PDF-файлов, и, несмотря на то, что он ручной и надоедливый, мой способ работает!

Хм ... не совсем то, что я искал, но спасибо. Nelson Reis 15 лет назад 0
Извините, я не знаю хорошего ответа, но просто говорю, что я никогда не нашел хорошего инструмента для файлов PDF. William Hilsum 15 лет назад 0
Вот чего я боюсь ... еще раз спасибо! Nelson Reis 15 лет назад 0
закройте глаза так, чтобы две копии перекрывались, и любые различия появлялись на экране. : D endolith 10 лет назад 2
Оптимизированная версия этого метода: откройте оба файла PDF в полноэкранном режиме в программе Acrobat Reader с помощью клавиш CTRL + L, затем используйте клавиши CTRL + F6 для переключения между файлами PDF, все, что перемещается, отличается ... Bernard Vander Beken 10 лет назад 0