V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jerseyhero
V2EX  ›  程序员

基于 Java 如何完美解决 word,pdf 的文件对比功能

  •  
  •   jerseyhero · 2021-10-16 00:00:02 +08:00 · 3506 次点击
    这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    工作需要实现对比合同相关的文档,格式为 word,pdf 。
    搜索了一下,暂时没有找到开源的软件方案。
    国内收费软件:
    1.PageOffice
    2.Spire.Doc
    国外收费软件:
    1.draftable
    但是感觉都 21 年了,难道就没有开源软件能实现么,感觉需求还是挺普遍的,求大神们赐教

    第 1 条附言  ·  2021-10-16 19:05:17 +08:00
    虚心接受回复中的批评,
    按照大家的回复我想想方案来处理,如果能做出来而且方案可以的话,选择开源出来,为开源事业添砖加瓦。
    28 条回复    2022-10-11 13:43:58 +08:00
    xy90321
        1
    xy90321  
       2021-10-16 00:04:40 +08:00 via iPhone
    对比? poi 然后自己来?
    gainsurier
        2
    gainsurier  
       2021-10-16 00:08:14 +08:00
    直接调用 word 对比不就行了,PDF 本身就没有太好的对比方案。
    liuxu
        3
    liuxu  
       2021-10-16 00:24:43 +08:00   ❤️ 3
    这个重任就交给你了
    jerseyhero
        4
    jerseyhero  
    OP
       2021-10-16 00:26:05 +08:00 via Android
    @xy90321 也算是一种方案,但是想找个轮子😄
    clf
        5
    clf  
       2021-10-16 00:26:35 +08:00
    一般 word 间对比是 poi 解析内容去对比吧。

    要么就转图片 OCR 识别文字对比。
    jerseyhero
        6
    jerseyhero  
    OP
       2021-10-16 00:27:09 +08:00 via Android
    @gainsurier 找了很久,没找到调用 word 对比的方法呢,大神能贴一下么
    jerseyhero
        7
    jerseyhero  
    OP
       2021-10-16 00:27:35 +08:00 via Android
    @liuxu 😄😄😄
    jerseyhero
        8
    jerseyhero  
    OP
       2021-10-16 00:29:21 +08:00 via Android
    @clf 是啊,感觉思路是这样的
    uyun2421
        9
    uyun2421  
       2021-10-16 00:42:38 +08:00 via iPhone   ❤️ 1
    word 和 word 格式之间对比用 word app 的审阅-比较功能,word 和 pdf 格式之间对比用 word 将 pdf 转换为 word,然后再审阅。😂我就经常这么干
    xy90321
        10
    xy90321  
       2021-10-16 00:49:46 +08:00 via iPhone   ❤️ 1
    拿 Office Diff 作为关键字结果不少,难道都没有中意的吗? poi 就是轮子了,只是你现在要的是带高强度钢配真皮座椅自带加热可 5 级自动驾驶
    jerseyhero
        11
    jerseyhero  
    OP
       2021-10-16 02:02:59 +08:00 via Android
    @xy90321 😂老哥懂我
    Jwyt
        12
    Jwyt  
       2021-10-16 06:11:06 +08:00
    word 没接触过,pdf 的话需要抽取 pdf 里面的所有信息,市场上有收费产品的(java 的话 itext 有 pdf2html 等),你也可以自己弄,不过很麻烦特别是涉及表格的话。
    pdf 底层的信息是很基础的,你可以去看看 adobe 的 pdf 标准文件,不像 html 、word 底层是标记语言,抽取出来后需要巨量的处理,包括文字合并 字体处理 画布 线条 块。。具体还是要看你的需求了
    开源包的话我知道的有 poppler(c++)、itext 和 itextsharp(java)
    Jwyt
        13
    Jwyt  
       2021-10-16 06:16:26 +08:00
    @Jwyt 纠正下 itext(java) 和 itextsharp(c#)
    leafre
        14
    leafre  
       2021-10-16 09:39:31 +08:00
    抽取文字 - 清洗 - 正则比对相似度
    xmt328
        15
    xmt328  
       2021-10-16 11:08:31 +08:00
    从文件格式上就注定了无法完美
    Huelse
        16
    Huelse  
       2021-10-16 12:33:18 +08:00
    大概就 word 转 pdf 在图像上对比
    Konys
        17
    Konys  
       2021-10-16 13:03:56 +08:00
    之前给教育局做的一个项目涉及 word 对比,word 里面有特别复杂的表格,刚开始自己搞,搞不定后买的 pageOffice.
    cweijan
        18
    cweijan  
       2021-10-16 13:06:29 +08:00
    这种需求很复杂, 你最后一句话说得好像是开源欠你的一样
    dbpe
        19
    dbpe  
       2021-10-16 13:11:43 +08:00
    >>但是感觉都 21 年了,难道就没有开源软件能实现么,感觉需求还是挺普遍的,求大神们赐教

    你来
    golangLover
        20
    golangLover  
       2021-10-16 13:29:22 +08:00 via Android
    这种需求挺复杂,值得你去付费
    ily433664
        21
    ily433664  
       2021-10-16 14:01:16 +08:00
    “感觉需求还是挺普遍的”
    所以别人依据做出来,你交钱就可以用了
    zhuangzhuang1988
        22
    zhuangzhuang1988  
       2021-10-16 22:20:23 +08:00
    拯救世界的任务,就交给你了.
    gongym
        23
    gongym  
       2021-10-18 08:46:42 +08:00
    onlyoffice 有这个功能
    vone
        24
    vone  
       2021-10-18 10:16:40 +08:00
    TortoiseSVN 有对比 word 功能,直接调用的 office,但是没有对比 pdf 的功能。
    lb111223
        25
    lb111223  
       2021-10-19 03:37:36 +08:00
    PYTHON 有工具,组装一下凑合用
    shinn
        26
    shinn  
       2022-10-05 12:56:56 +08:00
    请问一下有方案吗
    jerseyhero
        27
    jerseyhero  
    OP
       2022-10-05 19:20:37 +08:00
    @shinn 没有好办法,我们后来购买的国产的第三方的对比服务应用,可以部署到本地的那种,对比结果可以通过浏览器查看
    shinn
        28
    shinn  
       2022-10-11 13:43:58 +08:00
    @jerseyhero 👌谢啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2739 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:20 · PVG 23:20 · LAX 07:20 · JFK 10:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.