V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jerseyhero
V2EX  ›  程序员

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

  •  
  •   jerseyhero · Oct 16, 2021 · 4464 views
    This topic created in 1654 days ago, the information mentioned may be changed or developed.

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

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

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

    你来
    golangLover
        20
    golangLover  
       Oct 16, 2021 via Android
    这种需求挺复杂,值得你去付费
    lovelive1024
        21
    lovelive1024  
       Oct 16, 2021
    “感觉需求还是挺普遍的”
    所以别人依据做出来,你交钱就可以用了
    zhuangzhuang1988
        22
    zhuangzhuang1988  
       Oct 16, 2021
    拯救世界的任务,就交给你了.
    gongym
        23
    gongym  
       Oct 18, 2021
    onlyoffice 有这个功能
    vone
        24
    vone  
       Oct 18, 2021
    TortoiseSVN 有对比 word 功能,直接调用的 office,但是没有对比 pdf 的功能。
    lb111223
        25
    lb111223  
       Oct 19, 2021
    PYTHON 有工具,组装一下凑合用
    shinn
        26
    shinn  
       Oct 5, 2022
    请问一下有方案吗
    jerseyhero
        27
    jerseyhero  
    OP
       Oct 5, 2022
    @shinn 没有好办法,我们后来购买的国产的第三方的对比服务应用,可以部署到本地的那种,对比结果可以通过浏览器查看
    shinn
        28
    shinn  
       Oct 11, 2022
    @jerseyhero 👌谢啦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   938 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 22:39 · PVG 06:39 · LAX 15:39 · JFK 18:39
    ♥ Do have faith in what you're doing.