首页 > 解决方案 > 比较使用两个不同版本的 IText(版本 2 和 7)生成的 PDF

问题描述

目前,我们正在使用(IText 版本 2 + 飞碟)从 HTML 创建 PDF,并且由于版本 2 的限制,我们计划迁移到 IText 版本 7(我现在正在使用试用版)。作为初步分析的一部分,我为相同的 HTML 使用版本 2 和版本 7 生成了 PDF。

我试图比较pdf字节。有些 PDF 匹配,但有些不匹配。

我想知道我们是否可以依靠 pdf 字节比较来比较使用相同 HTML 的两个不同 IText 生成的 PDF。有没有更好的方法来比较这两个 PDF?

标签: htmlpdfitext

解决方案


我想知道我们是否可以依靠 pdf 字节比较来比较使用相同 HTML 的两个不同 IText 生成的 PDF。

不,首先你不能依赖直接的字节比较,因为 iText 插入了一个创建日期和一个文档 ID,即使使用相同的 iText 版本也会改变。

有没有更好的方法来比较这两个 PDF?

我们使用CompareTool 类在内部解决这个问题以进行测试。如果您希望视觉输出与像素相同,即使底层内容发生变化(例如,绘制 4 条线与直接绘制正方形),compareVisually()使用Ghostscript 可能就足够了。

话虽如此,我怀疑视觉输出是否相同。pdfHTML 和 iText 7 多年来经历了巨大的改进,因此 2 中的一些视觉错误/差异很可能在 7 中不再存在,或者 pdfHTML 中支持的 HTML 标签/CSS 属性在 7 中不受支持飞碟。

免责声明:我为 iText 工作。


推荐阅读