我正在开发一个目前使用.tiff的项目,将定义的模板文档与相关文档进行比较。由于各种原因,我们正在放弃.tiff格式,但主要是因为新文件将采用PDF格式。
我看到了这个问题的两个潜在解决方案。首先将PDF转换为tiff并使用现有代码。
或者第二,使用PDF库将模板PDF与收到的PDF进行比较。
由于收到的PDF基本上来自外部来源,我们无法确定它是基于文本还是基于图像,因此库或工具必须能够比较两者。
对于您发现有用的工具/库的任何建议都会很棒!
提前谢谢!
DJ
答案 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页面转换为某种光栅图像。 (这可能在内部发生,对用户来说不明显,但不得不发生......)