docx / doc / rtf和轻量级标记之间的转换

时间:2010-09-28 17:42:27

标签: ms-word cross-platform markup docx

我正在寻找一种工具或工具集来在文件格式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

更新:

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

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

4 个答案:

答案 0 :(得分:0)

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

您没有说是否有办法从HTML生成M?

答案 1 :(得分:0)

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

我能想到的最好的世界将是一种维基/单词混合:也许你可以让Google Wave为你做到这一点?

可能有效的另一个解决方案是像Plone这样的CMS(他们曾经添加过WYSIWIG功能吗?我在版本1之后停止了关注)。保留您的文件。让系统处理更改,注释等。如果必须,可以自动检索源(应该是ReStructuredText)并将其提交给源代码控制。

答案 2 :(得分:0)

我写的这个脚本可能会帮助您完成工作流程:

https://github.com/matb33/docx2md

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

我建议您发送不准确转换的.docx个文件。我希望尽可能使这个脚本变得健壮和可靠。

答案 3 :(得分:0)

我认为潘多克不仅仅满足所有要求。

http://pandoc.org