• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tomheng
V2EX  ›  程序员

word 转 text 的有比较完美的方案吗

  •  
  •   tomheng ·
    tomheng · Aug 11, 2018 · 5642 views
    This topic created in 3011 days ago, the information mentioned may be changed or developed.

    需求是这样的,转成有一定格式的 text (保留换行,空格等)

    docx 转 text 基本搞定,因为 docx 其实是一个 zip,里面是文本格式的 xml,然后用了 html 转 text 的方式,转出来可以接受。

    但是 doc 转 text 开始用的 antiword 但是有些文件转不了,想问下大家有什么好的方案吗?

    27 replies  •  2018-08-28 10:02:24 +08:00
    hinomo
    hinomo
    Aug 11, 2018
    1
    doc 转 docx (逃
    ghhardy
    ghhardy
    Aug 11, 2018 via Android
    2
    试试 python 第三方模块吧,我用过处理 excel 表格的,word 好像也有
    hundan
    hundan
    Aug 11, 2018 via Android
    3
    直接另存为?
    lihongjie0209
    lihongjie0209
    Aug 11, 2018
    4
    Java 可以用 tika, Python 就不知道了. 从某种程度上来说, Java 的生态确实比 Python 好
    dsp2138
    dsp2138
    Aug 11, 2018
    5
    word:Ctrl+A
    notebook:Ctrl+V
    搞定,效率很高
    tomheng
    tomheng
    OP
    Aug 11, 2018
    6
    @dsp2138 要用程序转的,网站的一个功能模块
    tomheng
    tomheng
    OP
    Aug 11, 2018
    7
    @lihongjie0209 我先研究下,谢谢
    tomheng
    tomheng
    OP
    Aug 11, 2018
    8
    @longyujin9 也是一种思路 :)
    zjsxwc
    zjsxwc
    Aug 11, 2018
    9
    这种东西 C#干起来很轻松,不知道 linux 下的 dotnet core 可不可以
    zjsxwc
    zjsxwc
    Aug 11, 2018
    10
    stringtheory
    stringtheory
    Aug 11, 2018❤️1
    11
    可以试试 pandoc
    MonoLogueChi
    MonoLogueChi
    Aug 11, 2018 via Android
    12
    修正一下,docx 是 rar 压缩包
    lushilu001
    lushilu001
    Aug 11, 2018 via iPhone
    13
    catdoc
    hundan
    hundan
    Aug 11, 2018 via Android
    14
    @MonoLogueChi 再修正一下,是 zip。
    rar 文件头以 Rar 开头 zip 为 pk,docx 文件头是 pk,这是其一,其二,rar 算法为私有。拓展名改为 rar 之后能打开是因为压缩软件自己识别了压缩算法,不能作为根据。建议你自己了解清楚再来修正别人。
    drackzy
    drackzy
    Aug 11, 2018
    15
    unoconv
    cnkiller
    cnkiller
    Aug 11, 2018 via Android
    16
    我给楼主说一下吧。com 方式另存为 txt,效果最好
    envylee
    envylee
    Aug 11, 2018
    17
    @dsp2138 兄弟说得很有道理哈哈哈哈
    iwtbauh
    iwtbauh
    Aug 11, 2018 via Android
    18
    soffice --headless --convert-to txt filename.doc
    gnaggnoyil
    gnaggnoyil
    Aug 12, 2018
    19
    @tomheng 说的就是通过.COM 直接使用 Word 提供的 utility,不过前提是电脑里已经装了 Word.
    程序和程序之间的分工又不是只有跨进程文本转递这一种.
    gamecmt
    gamecmt
    Aug 12, 2018 via Android
    20
    windows 下可以用 pywin32com。
    PythonAnswer
    PythonAnswer
    Aug 12, 2018 via iPhone
    21
    com 是个好东西。linux 下一班怎么玩?有类似的吗?
    omph
    omph
    Aug 12, 2018
    22
    Apache POI - the Java API for Microsoft Documents
    shilyx
    shilyx
    Aug 12, 2018
    23
    poi 读取-》另存为

    不过更高级的方案是在 widnows 服务器上安装 office,然后 vc 中使用 activex 控制另存为,完美,绝对完美的 doc-》 docx
    ps1aniuge
    ps1aniuge
    Aug 12, 2018
    24
    安装 word。用 powershell 调用 com 方式另存为 txt,效果最好
    gnaggnoyil
    gnaggnoyil
    Aug 12, 2018
    25
    @PythonAnswer LibreOffice 据说有个叫 UNO 的东西和.COM 比较类似,具体怎么用不清楚,你可以自己查查看……
    PythonAnswer
    PythonAnswer
    Aug 12, 2018 via iPhone
    26
    uno 是包装的 java,调用起来不太爽
    Doodlister
    Doodlister
    Aug 28, 2018 via Android
    27
    @longyujin9 纯文本的话。。 直接 OCR。。。比你这个还暴力 哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3310 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 05:40 · PVG 13:40 · LAX 21:40 · JFK 00:40
    ♥ Do have faith in what you're doing.