如何在 Windows 上比较两个 PDF 文件之间的差异?

如何在 Windows 上比较两个 PDF 文件之间的差异?

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

我正在寻找 Windows 软件来实现这一点。如果您能发布免费和非免费产品就太好了。

答案1

尝试合并文档差异插件。两者都是完全免费的。无任何附加条件。


下面有几条评论表明他们看不出有什么区别。这意味着插件安装不正确。以下是原因:

  1. 将文件放在xdocdiff插件自述文件所要求的位置(有两个地方;我不会在这里列出它们,因为文件名可能会更改等 - 阅读自述文件)

  2. 在 WinMerge 中,转到插件 > 列表并勾选“启用插件”复选框(自述文件中缺少此步骤xdocdiff

  3. 在 WinMerge 中,选择插件 > 自动解包(在步骤 2 之前已禁用)

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

答案2

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

在此处输入图片描述

在 Ubuntu 上安装使用:

sudo apt-get install diffpdf

查看更多这个 UbuntuGeek 页面介绍了如何通过文本或视觉方式比较 pds

对于 Windows,这个 Diffpdf Windows 版本非常好用。你可以从http://soft.rubypdf.com/software/diffpdf(向下滚动至Win32 静态版本)。

答案3

我最近发现了这个并且我很喜欢它。

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

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

下面是实际操作的屏幕截图diff-pdf- 请注意,PDF 中的文本没有不同,只有字体(以及相应的布局设置)不同:

差异-pdf.png

获取该图像的调用是:

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}

答案4

我最近想做这个(不同的 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

输出示例如下这里

在此处输入图片描述

相关内容