比较使用两种不同版本的IText(版本2和7)生成的PDF

时间:2018-08-20 18:59:40

标签: html pdf itext

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

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

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

2 个答案:

答案 0 :(得分:4)

  

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

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

  

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

我们使用CompareTool class在内部进行测试。如果您希望即使基础内容发生了变化,视觉输出在像素以下都是一样的,那么使用Ghostscript 可能compareVisually()就足够了,即使基础内容发生了变化(例如,绘制4行与直接绘制一个正方形)。

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

免责声明:我为iText工作。

答案 1 :(得分:0)

前段时间,我偶然发现了一个开源项目,然后又进行了一次快速搜索。我没有亲自尝试过,但可以尝试一下:

https://github.com/vinsguru/pdf-util

https://github.com/red6/pdfcompare

两者均基于PdfBox并提供逐像素的像素比较,还提供文本比较等其他功能。