【问题标题】:Conversion between docx / doc / rtf and lightweight markupdocx / doc / rtf 与轻量级标记之间的转换
【发布时间】:2023-11-28 00:18:01
【问题描述】:

我正在寻找一个或一组工具来在文件格式 D 和 M 之间进行转换

  • D 是 MSWord 处理的格式,按优先顺序排列,docx、doc、rtf
  • M是轻量级的标记,比如markdown、textile、txt2tags,可以是深奥的
  • 有一种方法可以从 M 生成 html
  • 转换是双向的,既可以从 D 到 M,也可以从 M 到 D
  • utf-8 编码处理得当
  • 内容很简单,段落,一些简单的格式,如粗体和斜体,可能是列表
  • 这些工具独立于平台

到目前为止我发现了什么

  • TeX、LaTeX -- 太重了
  • docx2txt -- 太轻量级了,根本不支持格式化
  • html -- MSWord 生成臃肿的 html
  • 一些单向转换,如doc to mediawiki

更新:

用例是技术人员和非技术人员之间的文档工作流

  • 我,技术人员编辑纯文本文档,将其放入版本控制等。
  • 我将其发送给我的经理或其他非技术人员
  • 他们添加 cmets,使用 Word 对其进行更改,然后将其发回给我
  • 我想简单地了解他们的更改,进行更改,将其放入版本控制中,而无需使用 Word

【问题讨论】:

  • 为什么?为什么不直接使用轻量级标记并从中创建 PDF?为什么还要继续使用 Word?
  • @S.Lott - 与世界其他地方交流。
  • 纯文本和 PDF 不是比 Microsoft 文件格式更通用吗?这个“世界其他地方”是谁?
  • 因为我属于很久以前停止使用 Word 的 90%,正如您所建议的那样。这段对话是在帮助你回答我的问题,还是你只是在找乐子?
  • @S.Lott - 是真实的。请。 90% 的数字是个玩笑,因为事实恰恰相反。每个人和他们的祖母都使用 Office。纯粹主义者不喜欢这样,但是嘿,这就是我们正在谈论的真实世界。

标签: ms-word cross-platform markup docx


【解决方案1】:

我认为 Pandoc 不仅仅满足所有要求。

http://pandoc.org

【讨论】:

    【解决方案2】:

    我编写的这个脚本可能会对您的工作流程有所帮助:

    https://github.com/matb33/docx2md

    这是一个命令行 PHP 脚本,仅适用于 .docx 文件。它将提取 XML,运行一些 XSL 转换,并以 Markdown 格式为您提供结果。

    我鼓励您将无法准确转换的文件发送给我.docx。我想让这个脚本尽可能的健壮和可靠。

    【讨论】:

      【解决方案3】:

      这可能很难做到双向,因为各种格式之间会出现阻抗不匹配。

      我能想到的最好的世界将是一种 Wiki/Word 混合体:也许您可以让 Google Wave 为您做到这一点?

      另一个可行的解决方案是像 Plone 这样的 CMS(他们有没有添加 WYSIWIG 功能?在版本 1 之后我不再关心)。把你的文件放在那里。让系统处理更改、注释等。您可以自动检索源代码(应该是 ReStructuredText)并在必要时将其提交到源代码管理。

      【讨论】:

        【解决方案4】:

        Adam,我使用 docx4j 将 docx 转换为 html,在 CKEditor 中编辑 html,然后使用 docx4j 将 html 转换回 docx。我的过程对 css 做了一些假设(即它旨在处理 docx4j 的干净 html,并在 CKEditor 中进行编辑)。

        你不说有没有办法从HTML生成M?

        【讨论】:

          最近更新 更多