.Net 工具或库将一个 PDF 与另一个 PDF 进行比较 [已关闭]

问题描述 投票:0回答:5

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

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

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

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

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

提前谢谢您!

dj

vb.net pdf compare
5个回答
2
投票

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

免责声明:是的,我为制作此产品的公司工作 - 因此非常感谢反馈。


1
投票

我们最终做的是使用

Aspose.Pdf
库。

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

  • 基于图像和
  • 基于文本

比较基于文本的 PDF 时我没有遇到任何问题。然而,当收到基于图像的 PDF 时,会将 PDF 转换为

.tiff
,以便我们可以使用 Microsoft 的 MODI 将 PDF 与我们指定的模板进行比较。
.tiff
将是空白图像,而不是 PDF 的实际内容。 Aspose.Pdf 库确实花了一些钱,但最终,该库完全满足了我们的需要,它使我们能够满足客户的需求。


0
投票

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

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

我有一个 GhostScript 的 C# 包装器,可能会有所帮助,给我发了一封邮件(在个人资料上),我可以将其发送给您。


0
投票

据我从你的问题中可以看出,你想要对 2 个 PDF 进行视觉比较,而不是结构比较。 (因为我可以为您创建一千个不同的 PDF 页面,这些页面将具有不同的内部结构和 PDF 源代码,但在屏幕或纸张上呈现相同的效果。)

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

但是,由于您已经拥有自己的代码来对 TIFF 执行此操作,因此您也可以将其重新用于转换为 TIFF 的 PDF(就像您已经考虑的那样)。

除非您找到另一种比您自己的解决方案更好、更快、更精确、更时髦、占用资源更少的外部工具! - 但那个工具将无法避免将 PDF 页面转换为某种光栅图像,然后才能开始真正的视觉比较。 (这可能发生在内部并且用户不会注意到,但无论如何它都必须发生......)


0
投票

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

请查看检查两个 PDF 文档是否相同示例。

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

© www.soinside.com 2019 - 2024. All rights reserved.