html - 比较使用两个不同版本的 IText(版本 2 和 7)生成的 PDF
问题描述
目前,我们正在使用(IText 版本 2 + 飞碟)从 HTML 创建 PDF,并且由于版本 2 的限制,我们计划迁移到 IText 版本 7(我现在正在使用试用版)。作为初步分析的一部分,我为相同的 HTML 使用版本 2 和版本 7 生成了 PDF。
我试图比较pdf字节。有些 PDF 匹配,但有些不匹配。
我想知道我们是否可以依靠 pdf 字节比较来比较使用相同 HTML 的两个不同 IText 生成的 PDF。有没有更好的方法来比较这两个 PDF?
解决方案
我想知道我们是否可以依靠 pdf 字节比较来比较使用相同 HTML 的两个不同 IText 生成的 PDF。
不,首先你不能依赖直接的字节比较,因为 iText 插入了一个创建日期和一个文档 ID,即使使用相同的 iText 版本也会改变。
有没有更好的方法来比较这两个 PDF?
我们使用CompareTool 类在内部解决这个问题以进行测试。如果您希望视觉输出与像素相同,即使底层内容发生变化(例如,绘制 4 条线与直接绘制正方形),compareVisually()
使用Ghostscript 可能就足够了。
话虽如此,我怀疑视觉输出是否相同。pdfHTML 和 iText 7 多年来经历了巨大的改进,因此 2 中的一些视觉错误/差异很可能在 7 中不再存在,或者 pdfHTML 中支持的 HTML 标签/CSS 属性在 7 中不受支持飞碟。
免责声明:我为 iText 工作。
推荐阅读
- postgresql - 更改 DOMAIN 中的 CHECK 约束
- youtube-api - YouTube LiveBroadcast API - 为网络摄像头创建广播源
- f# - Dapper F# - 无参数默认值 无参数默认构造函数或一个匹配签名
- node.js - npm install 在我的一个包上返回 401 未经授权
- python - Cython:如何将 C++ 类导出到 .hpp 标头而不是 C .h 标头
- flutter - 错误状态:使用 firstWhere 函数时没有元素
- java - 当用户在java中输入他的价格时更新循环csv
- python - 如何在 Cpanel 中部署既不显示设置 python 应用程序也不显示终端的 Django 项目?
- javascript - 如何制作具有可变高度的固定标题
- javascript - 如何通过Node中的路由传递mongodb数据库连接?