您知道并排比较PDF文件并显示两者之间的修改的好方法吗?
我正在寻找Windows软件来完成此任务。如果您可以发布免费和非免费产品,那将是很好的。
您知道并排比较PDF文件并显示两者之间的修改的好方法吗?
我正在寻找Windows软件来完成此任务。如果您可以发布免费和非免费产品,那将是很好的。
Answers:
使用xdocdiff插件尝试WinMerge。两者都是完全免费的。没有任何附加条件。
以下几条评论建议他们看不出任何区别。这表示该插件未正确安装。这是如何做:
将文件放在xdocdiff
插件的自述文件说要放置的位置(有两个位置;由于文件名可以更改,因此我不会在此处列出它们,等等—阅读自述文件)
在WinMerge中,转到“插件”>“列表”,然后选中“启用插件”复选框(xdocdiff
自述文件中缺少此步骤)
在WinMerge中,选择“插件”>“自动拆包”(在第2步之前已禁用)
然后进行比较时,您将在比较窗口中看到类似于文本文件的外观。
Plugins > List and tick the "Enable Plugins" checkbox
是我所缺少的!
在Linux和Windows上,可以使用diffpdf
(与diff-pdf
本主题中提到的有所不同)。
在Ubuntu上使用以下命令进行安装:
sudo apt-get install diffpdf
有关在文本或视觉上比较pds的更多信息,请参见此UbuntuGeek页面。
对于Windows而言,此Diffpdf Windows版本确实非常有用。您可以从http://soft.rubypdf.com/software/diffpdf下载(向下滚动到Win32静态版本)。
我最近发现了这个,我很喜欢。
https://github.com/vslavik/diff-pdf
跨平台,免费,并且运行良好。
这是一个实际的屏幕截图diff-pdf
-请注意,PDF中的文本没有什么不同,只有字体(以及相应的布局设置)不同:
获取该图像的调用是:
diff-pdf --view testA.pdf testB.pdf
...其中testA.pdf / testB.pdf是通过编译以下简单的Latex文件获得的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}
diff-pdf
:DiffPDF可以很好地对更改后的文本进行快速的可视化并排比较,但实际上调试诸如行间距的细微变化之类的东西几乎是不可能的- diff-pdf
另一方面,基本上可以放置页面内容从同一页面上的两个比较文件(但使用不同的颜色)中-这样就可以轻松地识别行距问题...干杯!
我们还需要在公司比较PDF,并且对找到的任何解决方案都不满意,因此我们制作了自己的:i-net PDFC。它不是免费的,但我们提供30天的试用期。
它是用Java编写的,因此是跨平台的。
与众不同的是,它只比较内容而不是文本(或仅将pdf转换为图像并比较图像)。它还具有一个不错的视觉比较工具。
我最近想按照以下要求进行操作(比较PDF):
我安装了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
可以在这里看到输出示例
pc-script.bash
脚本不会转义HTML字符。
出色的工具,易于使用:Compare-It v4(来自http://www.grigsoft.com/)
比较许多不同类型的文件。它具有一些内置转换器,包括一个用于PDF文件的转换器。
我已经使用了很多次,并获得令人满意的结果。
确实应该尝试一下。试用版允许无限期比较。
不知道,但也有comparePDF(不是免费的,但可能有30天的试用期):http : //www.compare-pdf.com/download.htm
免费,不是最好的,但是...
我打开了两个文档,并使它们彼此分开。
不是最实用的解决方案,但它可以工作!
我还没有看到一个很好的PDF文件DIFF包,虽然手工和烦人,但我的方法可行!
在这里,您可以上传两个pdf文件,然后返回第三个pdf文件,这将向您显示两者之间的差异。
适用于所有平台,无需学习或安装即可免费使用。
商业:您可以使用原始的Adobe Acrobat Professional,价格高达$ 449:
将修订的PDF与早期版本进行比较。
如果您决定使用Acrobat,则此页面上的注释与其用法有关。
对于两个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
还有免费的在线https://www.diffchecker.com/diff。
但它仅突出显示文本差异,而没有图像和格式。而且它在匹配大文件中未更改的片段方面太弱了。