.Net工具或库,用于将一个PDF与另一个PDF进行比较

时间:2012-04-02 18:30:03

标签: vb.net pdf compare

我正在开发一个目前使用.tiff的项目,将定义的模板文档与相关文档进行比较。由于各种原因,我们正在放弃.tiff格式,但主要是因为新文件将采用PDF格式。

我看到了这个问题的两个潜在解决方案。首先将PDF转换为tiff并使用现有代码。

或者第二,使用PDF库将模板PDF与收到的PDF进行比较。

由于收到的PDF基本上来自外部来源,我们无法确定它是基于文本还是基于图像,因此库或工具必须能够比较两者。

对于您发现有用的工具/库的任何建议都会很棒!

提前谢谢!

DJ

5 个答案:

答案 0 :(得分:2)

i-net PDFC怎么样 - 它进行完整的内容比较 - 文本,图像,线条,页眉/页脚检测等等。您可以在命令行或GUI(2.0,目前处于公共beta阶段)或通过API(我认为我们的内部版本是.NET库)中使用它。

免责声明:是的,我为制作此产品的公司工作 - 所以反馈非常受欢迎。

答案 1 :(得分:1)

我们最终做的是使用Aspose.Pdf库。

我最终了解到有两种类型的PDF:

  • 基于图片和
  • 基于文字

我在比较基于文本的PDF时没有任何问题。但是,在接收到基于图像的PDF时,将PDF转换为.tiff,以便我们可以使用Microsoft的MODI将PDF与我们指定的模板进行比较。 .tiff将是一张空白图片,而不是PDF的实际内容。 Aspose.Pdf库确实需要花费一些钱,但最终,库完全符合我们的需要,它使我们能够满足客户的需求。

答案 2 :(得分:0)

我认为比较tiff的方法是使用ImageMagick或其他库的方法吗? 在Ghostscript的帮助下,也可以通过ImageMagick将PDF转换为图像。

http://www.imagemagick.org/script/compare.php

我有一个GhostScript的C#包装器可以提供帮助,给我发了一封邮件(在个人资料上),我可以发送给你。

答案 3 :(得分:0)

Docotic.Pdf library可以为您比较PDF文档。

请查看Check that two PDF documents are equal示例。

我们使用此功能进行库本身的回归测试(是的,我是图书馆开发团队的成员)。

答案 4 :(得分:0)

就我的问题而言,您希望 visual 比较2个PDF,而不是结构比较。 (因为我可以创建一千个不同的PDF页面,它们将具有不同的内部结构和PDF源代码,但在屏幕上或纸上将呈现相同的效果。)

在这种情况下,任何比较软件都必须将2个PDF转换为光栅图像并进行比较。

但是既然你已经为TIFF做了自己的代码,那么你也可以将它重新用于转换为TIFF的PDF(就像你已经考虑过的那样)。

除非你找到另一种外部工具,它比你自己的解决方案更好,更快,更精确,更时髦,更少资源消耗! - 但那个工具将无法使用避免在开始真正的视觉比较之前将PDF页面转换为某种光栅图像。 (这可能在内部发生,对用户来说不明显,但不得不发生......)