跳转到内容

怎么用 pdfl pixelcompare --viewer

报告说第 3 页变了 0.04%。它不会告诉你那是一个跑掉的连字符,还是一个错的价格。要 知道这个就得亲眼看,而 --viewer 就是用来看的东西。

Terminal window
pdfl pixelcompare cf_a.pdf cf_b.pdf --viewer pixelcompare/

这会写出一个文件夹:每页三张 PNG,加一个 index.html。不需要服务器,不需要 CDN, 不需要安装任何东西——打开文件就行。把文件夹打包发出去,要签字放行重印的人在一台 什么都没装的机器上也能打开。

查看器打开在 286 页中的第 3 页:三个面板并排,顶部是页面条,一条切口贯穿三个面板

三个面板,始终停在同一页。

面板 里面是什么
Original 第一个文件的那一页,原样
New 第二个文件的那一页,原样
Difference 两者叠在一起,把变化画在上面

最上面一行是摘要:比对了哪两个文件、100 of 286 page(s) differ · worst 0.11%, 以及你当前所在页的 page 3 · 0.04% of pixels differ。

一竖一横两条标尺条,以相同位置贯穿三个面板,并且三个面板一起动。它们跟着指针走。 没有东西要抓,也没有目标要对准:交点就在鼠标所在的位置。

在 Difference 面板里这两条是切口。竖条右侧、横条下方显示新文件,其余部分显示 原文件。不去动它时,横条停在顶端,于是竖条就是一条整页高的普通切口。当你要找的东西 横跨一条带而不是一列时,把横条往下拖。

在 Original 和 New 面板里,同样这两条是尺子,落在页面上同一列和同一行。 于是切口露出的东西,可以在任一未经处理的页面上找到,不必用眼睛量。

两条的位置都是相对页面的百分比,而不是相对面板,所以换页和改变窗口大小都不会丢。

在任何一个面板上,差异都被就地画出来,颜色说明是哪一类:

颜色 含义
红 新文件里消失的墨
绿 新文件里新增的墨
蓝 墨色相同,颜色不同

在一份 286 页文档的第 3 页上,只改了一个字母,看起来就是这样:

差异面板的特写:outubro 这个词变成 outubrb 的地方叠着红色和绿色

outubro 变成了 outubrb。红色是离开的那个字母,绿色是到来的那个。页面上别的 什么都没动,一个把两个窗口并排往下翻的人会径直读过去。

顶部那条是页面,每一页都标着它有多少比例不同。

它一打开就停在有差异的页面上。 这份文档是 286 页里的 100 页;All 会把 另外 186 页放回来。方向箭头和 ← → 跟着筛选走,跳过被隐藏的页面而不是停在上面; 在一个没有变化的页面上切到筛选视图,会移到最近一个确实变了的页面。

当什么差异都没有时,按钮会这么说明并保持禁用,而不是把页面条筛到一个不剩。

滚轮可以放大到 8 倍,三个面板以指针下方那一点为中心一起缩放——你原本在看的东西 还留在原处。缩小到整页就停住:面板本来就是按容得下整页来定的,再小没有用处。

按住任意一个鼠标键并移动,就能拖动页面本身,同样是三个面板一起,无论放大到多少 都跟指针同速。放大之后要够到某个角落就靠它。拖动时标尺条依然跟着指针,并且在任何 缩放下都保持同样的粗细。

Reset view 把缩放、平移和标尺条都还原到起点。没有可还原的东西时它是禁用的。

换到另一页会重新从整页开始。缩放和平移属于设定它们的那一页;带过去只会落在下一页 碰巧有东西的地方。

查看器展示的是比对找到的东西,所以改变比对的参数也会改变你看到的内容。

Terminal window
# 看得更细。默认 150 dpi;300 看到的更多,也更慢
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --dpi 300
# 忽略变化不到自身面积 0.1% 的页面
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --max-diff 0.1
# 只看文档的一部分
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --pages 1-10,42
# 比对前先吸收渲染噪声
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --threshold 0.1 --blur 1

还有一个值得弄懂。从同一个源重新导出的文件往往会偏移一两个像素,不补偿的话每一个 字的边缘都会算成差异。所以比对会寻找整页范围内的单一位移,找到时会说明:

page 3: 2.10% of the pixels differ, in 44 area(s) (aligned by 2, -1 px)

当位置本身就是你要核对的东西时,用 --no-align 关掉它。

CLI 这一章有全部选项、进度输出和速度说明。这里还有两篇文章: 错的文件一旦上机要付出什么,以及 什么时候该改用 compare。

DigitalOcean感谢 DigitalOcean 为本站提供托管服务。