FreePDF logoFreePDF

对比两个 PDF:一眼看出改了哪里

来自 FreePDF 团队 ·

合同从对方律师那儿回来了,文件名是 agreement_v3_FINAL.pdf,没有修订记录,也没说改了哪儿。两个版本并排读也不是不行,看到第九页你就不确定那条条款是不是本来就这么写的了。让工具做一次文本对比,几秒钟就把改动挑出来。

先传旧版本

顺序很重要,它决定了每一行显示什么颜色。先传旧的、再传新的,报告就是你预期的读法:只在第一个文件里出现的行是删除,标红;只在第二个文件里出现的是新增,标绿;没动过的保持黑色。传反了,所有新增都会显示成删除——不是错,但看着别扭。

你拿到的是一份 PDF 报告,不是一份带批注的原文档。开头一行汇总加了多少行、删了多少行,接着列出全文,左侧用 + 标记。这份报告可以单独发给别人,不用把两个源文件一起发过去。

它比的是字,不是长相

对比跑在文本上。查合同、查制度、查规格书时这正是你要的;查设计稿时,这就是个需要知道的限制:

  • 重写的条款、改掉的数字、删掉的段落,都能抓到。
  • 换字体、挪页边距、替换 logo、重画图表,一个都不会被标出来,因为字没变。

所以报告说「没有差异」,意思是两个文件说的是同一件事,不是说它们长得一模一样。要比的是版式,那就把两份都转成图片来回切着看。

为什么改一个词会整段变色

对比是按行做的。而在 PDF 里,「一行」就是排版引擎放在那一视觉行上的内容,所以在段首插进一个词,后面每个词都会被挤到不同的行上。从那个点往后没有一行能对上,整段就会显示成先删除、再新增。

看着吓人,其实不是问题。把红块和绿块当成一对来读,真正的改动一般一句话之内就看出来了。有两个办法能少些噪音:

  • 拿同一个源文档、同一个纸张尺寸导出的版本来对比。把 Word 换个纸张尺寸重导一遍,全文重新折行,报告就没法看了。
  • 只比相关的那一章,别比整本 200 页的手册。先把两份文件按同样的页码范围拆出来,报告的长度才在能读完的范围内。

扫描件要先做 OCR

扫描件是一张页面的照片,里面没有文字可比,报告要么是空的,要么莫名其妙。先把两份都跑一遍 OCR——它只加一层文字,不改页面的样子——再来对比。同时要接受一点:OCR 的识别错误会被当成差异,把 rn 认成 m,对提取出来的文本来说就是一处真实的改动,哪怕两页其实一模一样。

常见问题

能拿 Word 文档跟 PDF 对比吗?

先把 Word 转成 PDF,再对比两个 PDF。折行方面会有些噪音,毕竟 Word 和当初生成那个 PDF 的软件断行位置不会完全一致,但实质性的改动依然一目了然。

报告会告诉我改动在页面的哪个位置吗?

不会给页码定位。报告按文档从上到下的阅读顺序排列,改动出现的先后跟原文一致,但要看上下文,还是得拿那一行去源文件里搜。对多数审阅工作来说,复制一下按个 Ctrl+F 就够了。

相关免费工具