可靠的方式(通过编程)比较PDF文件?

9
可能是重复问题:
有没有比较大量PDF文件的工具? 我遇到了一个典型的情况,业务方给了我一堆新的pdf表格,但没有任何修订记录,而我需要找出与去年相比有哪些不同。
这里涉及到很多表格,因此我正在寻找一种比较PDF以概述差异的方法,而无需人工逐个查看每个表格。
我的想法是从PDF中提取所有文本并将其转储到.txt文件中,然后在文本文件上运行差异,但听起来很糟糕。
我的问题是编程方面的,但我会很高兴使用任何可靠的工具来比较PDF,并主要是想从其他人的经验中获得一些想法。 我也愿意考虑任何编程解决方案(最好是C#,但请提出任何想法)。

2
为什么会有重复问题?显然,所问的问题是关于如何以编程方式实现它。任何可安装工具都不是这个问题的答案。 - Vin
4个回答

8
有不少软件产品声称可以比较PDF文件。我从未有过使用它们的需要,但如果这将是一个经常出现的过程,那么我认为你的公司最好投资其中的一个。只需谷歌“pdf diff”即可找到一堆潜在应用程序。
此外,您的情况与此问题非常相似:Tool to compare large numbers of PDF files? 我认为它的讨论可能会有所帮助。

谢谢你,那个问题确实非常相似(不知道为什么在我提问时没有弹出)。 - JohnIdol

7
我是Docotic.Pdf Library的开发人员。在单元测试中,我们使用PDF比较来检查测试是否按预期生成PDF。PDF是一组特殊对象,我们比较所有PDF对象,忽略一些属性,如trailer IDs和creator info。这个实现很好用。
你可以尝试使用PdfDocument.DocumentsAreEqual方法。该方法只告诉您文档是否相同,而不指定差异。如果需要更多功能,请联系我们。

4
我采用提取PDF原始数据的方法,然后使用Word、TortiseSVN或WinMerge等工具来处理比较部分。在我的情况下,我在C#中使用RichTextBox进行比较...对差异进行着色等...因为我们希望所有内容都在我们的应用程序内部。
这是我所做的... 作为我试图比较混合文档(Word和PDF)的PDF比较
但是,我建议使用PDFBox进行解析,更加优雅...尽管iTextSharp也可以正常工作...

2

1
将PDF转换为图像,然后进行比较,仍然需要人工干预吗?那么这有什么用呢? - vsingh
该软件可以告诉您是否未进行更改,因此您知道您没有破坏任何内容。只有人类才能评估任何更改。 - mark stephens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接