it-swarm-ru.tech

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

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

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

203
Nelson Reis

Попробуйте WinMerge с плагином xdocdiff . Оба абсолютно бесплатны. Безвоздмездно.


Несколько комментариев ниже предполагают, что они не видят никакой разницы. Это означает, что плагин установлен неправильно. Вот как:

  1. Поместите файлы в файл readme плагина xdocdiff для их размещения (есть два места; я не буду перечислять их здесь, так как имена файлов могут меняться и т.д. - прочитайте readme)

  2. В WinMerge перейдите в раздел Плагины> Список и установите флажок «Включить плагины» (этот шаг отсутствует в файле readme xdocdiff)

  3. В WinMerge выберите «Плагины»> «Автоматическая распаковка» (это было отключено до шага 2)

Затем при сравнении вы увидите, как выглядят текстовые файлы в окнах сравнения.

108
Kenneth Cochran

В 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).

167
emacsomancer

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

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]{article}


                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}


\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}
40
slestak

Нам также нужно было сравнить PDF-файлы в нашей компании, и мы не были удовлетворены каким-либо из найденных нами решений, поэтому мы сделали свое собственное: i-net PDFC . Это не бесплатно, но мы предлагаем 30-дневную пробную версию.

Он написан на Java, поэтому он кроссплатформенный.

screenshot

Что делает его особенным, так это то, что он сравнивает содержимое, а не только текст (или просто конвертирует pdf в изображение и сравнивает изображение). У этого также есть Хороший визуальный инструмент сравнения.

21
Epaga

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

12
Babak Farrokhi

Я хотел сделать это (diff PDFs) недавно с этими требованиями:

  • игнорировать пробелы, разрывы строк, разрывы страниц и т. д.
  • легко увидеть, когда изменилась пара слов, а не только целые строки/абзацы.
  • цветопередача

Я установил pdftotext, wdiff и colordiff, доступные в различных менеджерах пакетов. (С macports: Sudo port install poppler wdiff colordiff)

Затем:

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

Теперь я вижу, какие слова, красиво окрашенные, изменились.

Более подробная информация: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

Вариация:

Использование dwdiff может привести к чуть лучшим результатам.

Я также хотел вывод HTML, поэтому этот крошечный скрипт создает базовую веб-страницу с небольшим количеством CSS.

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

Затем откройте q.html в вашем веб-браузере.

pc-script.bash файл:

#!/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

Пример вывода можно увидеть здесь

 enter image description here

9
philfreo

Если вы сравниваете текст внутри PDF, то Beyond Compare делает это.

Не бесплатно, но есть 30-дневная пробная версия.

7
sgmoore

Отличный инструмент и простой в использовании: Compare-It v4 (от http://www.grigsoft.com/ )

Сравнивает много разных видов файлов. Он имеет несколько встроенных конвертеров, в том числе один для PDF файлов.

Я использовал это довольно много раз с удовлетворительными результатами.

На самом деле следует попробовать это. Пробная версия позволяет сравнивать неограниченное время.

6
WimV

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

2
Robert

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

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

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

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

1
William Hilsum

Здесь вы можете загрузить два файла PDF и получить третий, который покажет вам разницу между ними.

Работает на всех платформах, ничего не изучать и не устанавливать и бесплатно.

https://synodins.com/apps/pdf_difference/intro.html

1
Hermann Ingjaldsson

Для очень примитивной формы синхронизированной прокрутки между двумя файлами PDF вы можете использовать следующий скрипт autohotkey, который я написал. Предполагается, что у вас открыто два окна SumatraPDF. Нажмите вправо, чтобы перейти на следующую страницу в обоих окнах, нажмите влево для перехода на предыдущую страницу.

#IfWinActive ,SumatraPDF
Right::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Right}
WinActivate, ahk_id %win2%
sendinput {Right}
WinActivate, ahk_id %orig%
return

Left::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Left}
WinActivate, ahk_id %win2%
sendinput {Left}
WinActivate, ahk_id %orig%
return
0
ivanatpr

Я использовал это (не идеальное, но для меня достаточно) решение:

  • Преобразовать PDF в обычный текст (в моем случае это бесплатное приложение Adobe Reader)
  • Используйте opendiff (входит в XCode, бесплатно) и смотрите изменения
0
Ciryon

Еще одно не идеальное решение:

  1. Конвертируйте оба PDF-файла в документы Microsoft Word, используя один из сайтов, которые делают это бесплатно .
  2. Используйте функциональность сравнения документов в Word.

В зависимости от того, насколько сложным является форматирование в PDF-файлах и какие изменения вы ищете, это может быть нормально.

0
Dave Webb

Коммерческий: Вы можете использовать оригинальный Adobe Acrobat Professional, за колоссальные $ 449:
Сравните исправленное PDF с более ранней версией .

Если вы выбираете Acrobat, комментарии на этой странице имеют отношение к его использованию.

0
harrymc

pdf-diff - это пакет Python для этой цели.

0
Ioannis Filippidis

Diff Doc - не бесплатно.

0
Rook

Существует также бесплатный онлайн https://www.diffchecker.com/diff .

Но он подчеркивает только различия текста без изображений и форматирования. И он слишком слаб в сопоставлении неизмененных фрагментов в больших файлах.

0
Vadzim