您知道并排比较PDF文件并显示两者之间的修改的好方法吗?

我正在寻找Windows软件来实现这一目标。如果您可以发布免费和非免费产品,那就太好了。

评论

相关:stackoverflow.com/questions/145657/…

有一个免费的库可以逐像素比较pdf。检查此博客:testautomationguru.com/…

自由。在浏览器中运行,因此可以在所有操作系统上使用。单击右上角的选择文本图标,在左窗格中打开打开的主文档,在右页面中单击辅助文档。然后点击左上方的播放按钮开始比较。然后逐页滚动以查看差异。 demo.leadtools.com/JavaScript/DocumentComparison/index.html

#1 楼

使用xdocdiff插件尝试WinMerge。两者都是完全免费的。没有附加任何字符串。


下面的一些注释表明它们没什么区别。这意味着未正确安装该插件。操作方法如下:


将文件放在xdocdiff插件的自述文件说要放入的位置(有两个位置;由于文件名可以更改,所以我不在这里列出它们,等等。自述文件)
在WinMerge中,转到“插件”>“列表”,然后选中“启用插件”复选框(xdocdiff自述文件中缺少此步骤)。进行第2步)

然后进行比较时,您将在比较窗口中看到类似于文本文件的内容。

评论


尝试过此操作,但在不使用xdocdiff插件时看不到任何区别。在WinMerge的UI中可以选择吗?

–琥珀色套圈
2012-09-18 9:53

查看PDF中的二进制文本的目的是什么?我希望看到i-net PDFC所做的视觉差异。

– JJD
13年1月4日在11:03

有什么办法可以使此句柄列中断?没有它,一个变化就会变成几个变化。

–斯图尔特
13年4月29日在23:48

插件>列出并勾选“启用插件”复选框对我来说是缺少的!

– Seph
2014年5月5日,11:28

WinMerge差异窗口中显示的PDF的文本版本中缺少许多字符

– cja
18年6月25日在9:40

#2 楼

在Linux和Windows上,您可以使用diffpdf(与该线程中提到的diff-pdf不同)。



在Ubuntu上,请使用:

sudo apt-get install diffpdf


有关在文本或视觉上比较pds的更多信息,请参见UbuntuUbuntuGeek页面。

对于Windows,此Diffpdf Windows版本的确很棒。您可以从http://soft.rubypdf.com/software/diffpdf下载(向下滚动到Win32静态版本)。

评论


专有名称为DiffPDF(如屏幕截图所示),它基于Qt 4和Poppler库,因此可移植。参见DiffPDF主页:qtrac.eu/diffpdf.html。有关Windows构建的信息在这里:soft.rubypdf.com/software/diffpdf。而且您的安装说明也适用于Debian。

– przemoc
2011年5月22日17:59



DiffPDF主页现在具有Linux,Windows安装程序和Mac DMG安装的链接(qtrac.eu/diffpdf.html)。

–studgeek
2012年10月25日19:37

我认为DiffPDF是此处介绍的最先进的工具。它不仅提供了很好的图形比较,而且比其他方法(例如, WinMerge的xdocdiff。但是,它存在一个严重的问题:它将比较限制在页面之间。这意味着,如果您在文档A的第2页上有一些文本,但是此文本移至文档B的第3页,则该工具会认为该文本已在A中添加到B中。

–牛
2014年3月29日在1:31

较旧的免费版本可以在这里找到

– Shafik Yaghmour
2014年6月4日12:29

我尝试将其用于导出到PDF的小说。不幸的是,该工具在大约10页后便失去了跟踪,并认为所有内容都是“不同的”,即使大段落完全相同。

– Eric J.
16-3-2在19:50

#3 楼

我最近发现了这个,我也很喜欢。

跨平台,免费,并且运行良好。

这是diff-pdf运行中的屏幕截图-请注意,PDF中的文本没有不同,只有字体(以及相应的布局设置)不同:



获取该图像的调用是:使用pdflatex编译此简单的Latex文件(每个pdf都相应,请参见注释):

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


评论


关于diff-pdf,只需要再注意一点:DiffPDF非常适合对更改后的文本进行快速的可视化并排比较,但是实际上调试诸如行间距的小变化之类的东西是不可能的-diff-pdf ,基本上是将两个比较文件中的页面内容放在同一页面上(但颜色不同),因此可以轻松识别行距问题...干杯!

– sdaau
2011年10月6日上午10:20

这很棒!无论如何,当输出到PDF文件时(不使用--view选项),是否可以跟踪大文件的进度?详细的选项/ v似乎没有任何作用。同样,当您运行命令以生成比较PDF时,它会在单独的进程中运行,因此它不会暂停命令提示符,就像在提示符下执行某些操作时通常会发生的那样。

–LukeS
16年11月28日在19:10

这是我需要的。我正在比较有关数字执行的PDF报告,因此我正在寻找整页中一位数字的差异。问题是,我无法识别青色字符,但是知道区别在哪里,就足以在原始报告中找到它。

–manuelvigarcia
17年5月4日在9:44

#4 楼

我们还需要在公司比较PDF,并且对找到的任何解决方案都不满意,因此我们制作了自己的:i-net PDFC。它不是免费的,但我们提供30天的试用期。

它是用Java编写的,因此是跨平台的。



与众不同的是,它只比较内容而不是文本(或仅将pdf转换为图像并比较图像)。它还具有一个不错的视觉比较工具。

评论


不错的软件。

–琥珀色套圈
2012-09-18 9:53

我无法使它正常工作。加载两个文件,然后单击“比较”按钮,没有任何反应。

– Craig Fisher
16年6月10日在17:57

正确处理跨页差异。具有导出/打印功能。不同的比较配置文件(包括自定义)。将鼠标悬停在上方可以为您提供有关更改的更多详细信息。看起来很棒。缺点是试行/费用,不能处理变动。绝对优于获得更高投票的IMO工具。

–乔纳森·高里奇(Jonathan Gawrych)
17年11月21日在20:19

@JonathanGawrych感谢您的客气话!您所说的“动作”到底是什么意思?也许我们可以添加该功能...

– Epaga
17年5月5日在9:24

yowsers这是每年200美元的软件!

–voxobscuro
18年9月11日在22:50

#5 楼

我最近想按照以下要求进行操作(比较PDF):


忽略空格,换行符,分页符等。
只需几个单词就能轻松更改,而不仅仅是整行/段落。
color diff输出

我安装了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

然后用Web浏览器打开q.html

pc-script.bash文件:

#!/bin/bash

OLD=""
NEW=""

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


输出示例在这里可以看到



评论


@philcolbourn Google+已被关闭,也许可以通过imgur分享屏幕截图?

– myrdd
19年3月25日在21:56

首先,我偶然发现了这个小仓库:github.com/tpltnt/cli-diffpdf/blob/master/cli-diffpdf.sh

– myrdd
19 Mar 26 '19在8:17

如果您使用的是Windows,Mac,Fedora,openSUSE或能够从源代码为系统编译二进制文件,则diff-pdf是一种更好的解决方案,无需安装三个不同的依赖项即可完成此任务。不要与另一个答案中提到的diffpdf混淆,后者仅通过GUI起作用。

–普罗米修斯
19年6月20日在21:58



请注意,pc-script.bash脚本不会转义HTML字符。

– Federico
19年8月14日在15:18

如果脚本可以删除不是文本的html,那就太好了。就我而言,我得到了很多有数字的随机圆圈。

– Manfredo
20年6月8日在17:40

#6 楼

您也可以使用Adobe AcrobatX。它具有内置的PDF比较功能,位于“查看->比较文档”下。

评论


Acrobat还是Acrobat Reader? Reader软件没有此功能

–Jason S
2012年11月28日17:06

AcrobatX Pro是唯一具有此功能的版本。 “只是普通AcrobatX”没有。

–卡尔·威索夫特
13年2月20日在21:16

在Acrobat 9 Pro中,它位于“文档”菜单下。

–svinto
13年6月28日在13:15

adobe.com/products/acrobat/file-compare-two-pdf-files.html

–伊曼
2015年3月2日在16:39

我尝试了Adobe Acrobat DC(不是免费的),并且将50页的儿子日托规则(差异并不完美,但是很难)比较起来比Winmerge更好。页脚)或diffpdf(似乎逐页执行,这是一个很大的缺点)。由于许多原因,我不喜欢Adobe,但在这种情况下,这是最好的。

–负责人
20/08/17在17:12

#7 楼

如果您要比较pdf中的文本,那么Beyond Compare可以做到这一点。

不是免费的,但是有30天的试用期。

评论


是的,新建>文本比较帮助我了解了2个PDF文件之间文本的基本区别。

–瑞安
18年5月22日在17:23

#8 楼

很棒的工具,易于使用:
比较-v4(来自http://www.grigsoft.com/)

比较许多不同类型的文件。
它具有一些内置转换器,包括一个用于PDF文件的转换器。

我已经使用了很多次,效果令人满意。

真的应该尝试一下。试用版允许无限制比较。

评论


这对我来说是最好的,也是最简单的。谢谢!

–安库尔·in那(Ankur Jain)
2012年4月18日在7:41

我发现要使用的最简单,最简单的工具。我希望我可以不止一次投票!

–乍得
15年7月13日在2:48

对于PDF,比较似乎是文字上的。上次发布时间为2010年。您可以为此付费,但可以确定有什么区别-我没有看到任何限制?

– Zitrax
15年11月20日在13:47

#9 楼

不知道,但也有comparePDF(不是免费的,但可以进行30天试用):
http://www.compare-pdf.com/download.htm

#10 楼

免费,不是最好的选择,但是...

我打开两个文档,并使它们彼此相对分屏。

不是最实用的解决方案,但是它可以工作! br />
我还没有看到一个很好的DIFF格式的PDF文件包,虽然烦人,但我的方式可行!

评论


哼...不完全是我想要的,但谢谢。

–尼尔森·赖斯(Nelson Reis)
09年9月24日在9:50

抱歉,我不知道这是一个好答案,只是说我从未找到用于PDF文件的好工具。

– William Hilsum
09年9月24日在9:55

交叉眼睛,使两个副本重叠,任何差异都将闪烁。 :D

– Endolith
2014年3月4日在16:12

此方法的优化版本:通过CTRL + L在acrobat Reader中全屏打开两个PDF文件,然后使用CTRL + F6在PDF文件之间切换,任何移动的地方都不一样...

– Bernard Vander Beken
2014年6月18日13:12



#11 楼

对于两个PDF文件之间的同步滚动的一种非常原始的形式,可以使用我编写的以下自动热键脚本。假定您有两个打开的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


#12 楼

在这里,您可以上传两个pdf,然后获取第三个pdf,它会向您显示两者之间的区别。 br />https://synodins.com/apps/pdf_difference/intro.html

#13 楼

我建议最好的比较PDF的工具是Kiwi PDF Comparer。

与大多数其他文件不同,您可以比较文档中的文本和图像,还可以选择逐像素比较页面。比较文本时,它具有更高的分辨率,因为它突出显示了更改的字符而不是整个单词。显着的差异,因为您只需单击一下就可以从一个差异转到另一个差异。

有一个免费版本效果很好,但是付费版本也是最便宜的版本,区别在于专业应用程序。用Java编写的代码可以在Windows,Linux和Mac OS上运行。



#14 楼

另一个不太理想的解决方案:


使用其中一个免费网站将两个PDF转换为Microsoft Word文档。
在Word中使用文档比较功能。
/>
取决于PDF格式的复杂程度和您要查找的更改类型,这可能没问题。

评论


在这种情况下,这会很困难,因为有很多PDF文档,并且修改非常频繁。但是,谢谢你的建议。

–尼尔森·赖斯(Nelson Reis)
09年9月24日在10:20

对于LaTeX输出也不是很好-我还没有找到可以正确处理连字等的这些转换器之一。

–克里斯H
2013年9月3日在10:19

#15 楼

商业:您可以使用原始的Adobe Acrobat Professional,价格高达449美元:将经过修订的PDF与早期版本进行比较。

如果您决定使用Acrobat,此页面上的注释与其用法有关。

评论


“花费高达449美元”……还有多少MB磁盘空间?

–休·艾伦(Hugh Allen)
09年11月7日在6:17

@休·艾伦:拥有大量磁盘空间和注册表中数万个条目的地狱。一个真正的膨胀软件。

–harrymc
2009年11月7日10:53

更新了Adobe Acrobat XI的帮助文章:adobe.com/uk/products/acrobat/file-compare-two-pdf-files.html

– qui
2013年9月23日14:44在

无论如何,这都是越野车:forums.adobe.com/thread/647854?tstart=0

– Michal Sokolowski
15年7月20日在12:42

#16 楼

差异文档-并非免费。

#17 楼

我使用了这种解决方案(不理想,但对我来说足够了):


将PDF转换为纯文本(在我的情况下,使用Adobe Reader,免费应用程序)
使用opendiff(包括XCode免费提供)并查看更改


#18 楼

pdf-diff是用于此目的的Python软件包。

评论


这是纯文字的还是图形的?

– Endolith
18-10-22在16:45

#19 楼

还有免费的在线https://www.diffchecker.com/diff。

,但它仅突出显示文本差异,而没有图像和格式。而且在匹配大文件中未更改的片段方面太弱了。