IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    A Tool to Compare Two PDF Files

    Chipset发表于 2021-10-15 02:39:00
    love 0
    杂事太多,一直忙来忙去没时间写点正经的东西。最近写了个工具,用于比较两个PDF文件的不同,把差异点标出来。
    后端用Poppler解析PDF文件,然后比较,生成三个html,可用Chrome或Firefox(Edge和IE就悲剧了)打开。
    查看不同点。
    这Poppler虽说免费开源,但Bug无数,真心难用。唉,看在不花钱的份上,忍了...

    源代码量3万行的样子,运行依赖33个dll,算法有点复杂,虽然距离我的意愿依旧遥远,但总算见到雏形了。

    下面的截图是简单的比较了两个PDF文件的结果,鼠标点击最右栏就能标出来且能自动对齐变更点,添加或者删除的能对应原始位置。



    下面是个文字变更的逻辑对齐部分截图。文字属性有变更的地方鼠标放上去能弹出不同之处,黑底绿字。



    下面是单独比较光栅图片的截图,鼠标点击最右栏能自动对齐,添加或删除的则能对应到原始位置,图片变更的会标出所有变更点。


    大致就如同前面三个截图的样子(目前缺矢量图的比较),应该能满足一般的PDF文档比较需求了。

    诸位过客可以下载一个简单用例到电脑上,解压[可以考虑7z]后,用Chrome(或者Firefox,别用Edge和IE)
    浏览器打开看看效果。
    在这里下载/Files/Chipset/test.zip

    以上附件很小,麻雀虽小五脏俱全,该有的东西基本都有,可以比较的单个PDF文件1000页以上,且速度很快。
    以上展示内容用的文字后贴背景页面格式,将来
    [升级中]解析PDF用BSD协议的pdfium替换GPL协议的Poppler,
    页面展示借助PDF.js,但不再用文字和贴背景这种办法,再接下来做个单机界面,不再用浏览器,算是升级方向吧。

    关于比较工具,下面多说几句。
    做内容比较的工具
    Draftable很成功,用C#写的,可以比较Office和PDF文件,各格式任意混比,只能比文字。
    我的只能比PDF文件,比较内容是文字和光栅图,有个Kiwi free pdf comparer类似,只不过需要Java运行环境。
    此外,ABBY的Fine Reader和Adobe的Acrobat也都有比较功
    能,只不过精度和速度都明显弱一些。至于视觉
    比较的工具,由于跟位置有关,大多数场合几乎等同于废物,这种网上一搜一大把,很多免费。纯文本内容的比较
    工具就更多了,网上一搜一大堆,这里就不必啰嗦了。


    Chipset 2021-10-15 10:39 发表评论


沪ICP备19023445号-2号
友情链接