![PDF 智能文件差异](https://linux22.com/image/966700/PDF%20%E6%99%BA%E8%83%BD%E6%96%87%E4%BB%B6%E5%B7%AE%E5%BC%82.png)
我有一个 LibreOffice 文档,我使用内置功能在某个时间点将其转换为 PDF。PDF 上的时间戳晚于文字处理文档上的时间戳,所以这是有道理的,但我不能完全确定文字处理文档是否生成了完全相同的 PDF。该文档长达 20 页,因此手动检查不是一个好主意。
一种可能性是在另一个文件夹中重做 PDF,然后对两个 PDF 进行二进制差异分析。不幸的是,命令行diff
显示“二进制文件不同”。
是否存在“智能二进制差异”可以帮助我确定差异是否仅仅是元数据中的差异,还是一些无关紧要的差异?
答案1
使用python3:
sudo apt update
sudo apt install python3-pip imagemagick poppler-utils
pip3 install --user diff-pdf-visually
用法:
diff-pdf-visually a.pdf b.pdf
脚本中的用法:
from diff_pdf_visually import pdf_similar
# Returns True or False
pdf_similar("a.pdf", "b.pdf")
如果您只需要知道 2 个 pdf 是否不同,则不再相关。否则:
一般来说,检查命令 + 文件扩展名是否是您要查找的内容是一个好主意。diff+pdf 结果是差异pdf。
sudo apt-get install diffpdf
DiffPDF 用于比较两个 PDF 文件。默认情况下,比较的是每对页面上的文本,但也支持比较页面的外观(例如,如果更改了图表或重新格式化了段落)。还可以比较特定的页面或页面范围。例如,如果 PDF 文件有两个版本,一个版本包含 1-12 页,另一个版本包含 1-13 页(因为添加了第 4 页作为额外页面),则可以通过指定两个页面范围来比较它们,第一个为 1-12,第二个为 1-3、5-13。这将使 DiffPDF 比较对 (1, 1)、(2, 2)、(3, 3)、(4, 5)、(5, 6) 等对中的页面,直到 (12, 13)。
来源:Ubuntugeek.com。