用于PDF比较的iText API

时间:2012-12-04 12:43:21

标签: java pdf itext

我可以使用iText API比较两个PDF文件吗?我已经在stackoverflow上进行了各种方法来比较PDF文件,如工具,一些实用程序,如imagemagick等。 我希望比较的PDF是带有图表,表格和文本等的财务报告。 我们必须比较大量文件,并希望通过命令行实用程序来完成。有一个ComparePDF命令行工具,但它只输出两个文件是否存在差异。我们想要打印文件差异日志。我们可以通过iText实现这一目标吗?

2 个答案:

答案 0 :(得分:6)

你想要比较什么? iText可用于比较结构和语法,但是...两个看起来与人眼相同的不同PDF可能在内部具有完全不同的结构和语法。

在iText,我们编写了JUnit测试,使用GhostScript创建每个页面的图像。这些图像以像素为单位进行相互比较。

我们也在JUnit测试中使用iText,但这些测试比内容更多地考虑结构和语法。

答案 1 :(得分:0)

您需要使用Myers O(ND)diff算法进行PDF比较,itext或pdfbox api不提供pdf比较的方法,您可以使用itext提取这些文件的文本和坐标,稍后使用Myers O( ND)diff算法找出差异并突出显示变化。