我正在寻找一个可以在C#windows应用程序中用来比较PDF文件的库。我已经看到很多工具用于进行逐页pdf比较(例如,http://www.inetsoftware.de/other-products/pdf-content-comparer)。但是,我想要内容方面的比较。这意味着如果添加或删除内容会导致更改后的所有内容被删除,那么我不希望将移位的内容视为已更改。
一种选择是从pdf文件中提取文本,然后使用类似于Eugene W. Myers在他的论文“An O(ND)差分算法及其变化”中提出的算法进行文本比较。但是,我想知道是否有可以在C#中使用的工具或库来执行此操作?理想情况下,该工具将显示整个原始文档并突出显示更改。该工具还将检测其他内容更改,如图像更改。
感谢。
答案 0 :(得分:2)
商业选项是DocsCorp compareDocs SDK(也称为DocuComp)http://www.docscorp.com/public/products/publicProductsDocuCompServer.cfm
这是一种基于内容的比较解决方案。例如,由于插入新段落而导致的内容移位不会导致所有后续文本被视为“已更改”。插入的段落将标记为“已插入”,而后续文本仍将被视为“相同”。
PDF到PDF与输出作为单个PDF进行比较。更改显示为注释(插入显示为带下划线的文本,删除由PDF注释(黄色粘滞便笺)表示,锚定到删除发生的点)。输出可以是说明更改的单个PDF。这基于修改后的PDF或它可以显示并排显示一个PDF中的PDF文件。
比较仅基于文本。它目前不会尝试在PDF中显示图像或其他图形元素的更改。
对于完全披露,我受雇并且拥有该公司。我的职位是R& D VP。
此致 沙恩