PDF文档的并排视觉比较差异
项目描述
Visual PDF diff
渲染的PDF文档的视觉并排比较。
您可以使用以下几种方式
- a 命令行工具,用于获取两个PDF的diff
- a Python函数,从其他Python程序执行相同的操作
- 一个用于
python-unittest
的等式断言 - 一个用于
python-unittest
的面对面的断言 - 工具
back2back
的扩展,用于对您的命令的PDF输出进行面对面的测试
生成的diff看起来像这样
安装
sudo apt install imagemagick # Or the equivalent if not debian based
pip install visualpdfdiff
pip install b2btest # if you want to use the back2back command
注意:visualpdfdiff需要启用ImageMagick来处理PDF。出于安全原因,默认情况下已禁用。如果您正在运行接受来自外部PDF文件的Web服务器,请考虑安全影响。
编辑/etc/ImageMagick-*/policy.xml
并取消注释该行
<policy domain="coder" rights="read | write" pattern="PDF" />
并注释该行
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
命令行diff工具
visualpdfdiff a.pdf b.pdf [output-diff.pdf]
如果两个PDF都等于光栅,则返回0,如果不等于,则返回-1。
如果提供了输出,将生成并排diff PDF。如果diff存在,不提供输出会更快,但是,如果您预计大多数时候是相等的,则检查然后生成会更快。
Python diff函数
from visualpdfdiff import diff
haveDifferences = diff('a.pdf', 'b.pdf', 'out.pdf')
单元测试面对面断言
与最后验证的输出进行比较。如果扩展是PDF,visualpdfdiff将选择检测并输出差异。
class MyClass_Test(unittest.TestCase):
from b2btest import assertB2BEqual
def test_otherMethod_conditions(self):
...
self.assertB2BEqual('b.pdf')
命令背靠背测试
使用背靠背命令。此外,通过安装此软件包,使用visualpdfdiff比较PDF输出。
myTest:
command: ./myreportscript.py -o output.pdf
outputs:
- output.pdf
类似工具
- pdfdiff:提取文本并进行diff,然后在文本上绘制轮廓。更适合文本diff,但不适合布局diff。
- qtrac的diffpdf:一个相当不错的(基于Qt的)图形工具,可以进行文本和视觉diff。由于作者迁移到封闭源代码许可证,不再维护。
- vslavik的diff-pdf
- diff-pdf-visualy与这个工具非常相似,不仅在名称上相似,而且不生成输出PDF
变更
1.0 (未发布)
- 作为独立模块的第一个版本
- 之前的版本是somenergia-oomakotest测试套件的一部分,用于比较由odoo生成的mako报告的输出
待办事项
- 可以通过关键字配置光栅分辨率
- 同时还有diff元数据
- 在diff区域完全透明,在匹配区域半透明灰色
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
visualpdfdiff-1.0.tar.gz (17.8 kB 查看哈希值)
构建分布
visualpdfdiff-1.0-py3-none-any.whl (18.2 kB 查看哈希值)
关闭
visualpdfdiff-1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ff29fd1cd479d0b9a9c63cf7f56549ea9d7a92647e6c54f84381b43e33d02621 |
|
MD5 | 5685efdbac278cb2feb69b23a1309c6b |
|
BLAKE2b-256 | cd57dba31a33319bef7fbd8abe2c625a8382dc1bd794a2ebcdfeb26728a3a928 |
关闭
visualpdfdiff-1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7577f27d2f17da1bd06ab0e73d76029c99bfdf2037045d04152c54724026b99 |
|
MD5 | c439ec887f404920570204a4c6dde845 |
|
BLAKE2b-256 | 8356c6f8db01ca457a13cc481c05353121126ed56bc7241d1dc0671b8c5a2355 |