如何使用Sphinx生成Microsoft Word文档

时间:2009-05-13 15:13:49

标签: documentation ms-word python-sphinx

Sphinx支持一些输出格式:

  • 多个HTML文件(包含htmldirhtml
  • Latex,可用于创建.pdf.ps
  • 文本

如何在Microsoft Word文件中获取输出?

使用另一个文档生成器,我设法生成一个单独的html输出文件,然后使用Word应用程序将其转换为Microsoft Word格式。

不幸的是,我不知道如何生成Word或HTML单页格式。

8 个答案:

答案 0 :(得分:7)

Sphinx extension生成docx格式(我尚未测试过)和newer one(我还没有测试过)

答案 1 :(得分:5)

要将重组文本中的文件转换为MSdoc,我使用rst2odt和下一个unoconv。看下一个脚本:

#!/bin/sh
rst2odt $1 $1.odt
unoconv -f doc $1.odt
rm $1.odt

使用rst2odt,您可以使用自己的样式表:unoconv附带OpenOffice,并允许在转换过程中应用Open Office样式(模板)。只需编辑转换后的文档,更改样式,添加页眉和页脚,将其另存为ODF文本文档模板(OTT)并将其用作转换的一部分,如:

unoconv -f doc -t template.ott $1.odt

稍后将该模板用于各种转化。

答案 2 :(得分:3)

我使用的解决方案是注释中提到的像andho一样的单一构建器,然后使用pandoc将html转换为docx。 以下示例假定生成的html位于_build / singlehtml / index.html

make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html

答案 3 :(得分:1)

最佳选择可能是rst - > odt - >文档

答案 4 :(得分:1)

我意识到这是一个老问题,但我发现LibreOffice支持以下转换方式(假设soffice.exe在你的路径中):

soffice.exe --invisible --convert-to doc myInputFile.odt

我读过的一些内容是说使用--headless选项而不是--invisible。两者似乎都适用于Windows。

您可以从rst2odt.py脚本开始,然后执行上述操作以转换为MS Word文档。

以下链接包含LibreOffice的其他启动选项: http://help.libreoffice.org/Common/Starting_the_Software_With_Parameters

以下是OpenOffice支持的文件类型的链接,我相信,LibreOffice也应该支持: http://wiki.services.openoffice.org/wiki/Framework/Article/Filter/FilterList_OOo_3_0

答案 5 :(得分:0)

这个答案不是一个命令行解决方案,它显然不是最好的,但它只对我有用并节省我的时间。生成html文件1后,您可以使用浏览器打开生成的html并复制整个页面(Crtl + a和Ctrl + c),然后运行Microsoft Office(如果您没有,则使用实时版本)像我这样的Microsoft Windows)并粘贴(Ctrl + v)到它。

答案 6 :(得分:0)

这是一种使用Calibre(https://calibre-ebook.com)的解决方法,其中包括一个功能强大的转换器。这很好用,大部分格式都保留了下来:

  • 在Sphinx make epub
  • 中生成epub输出
  • 将epub输出导入Calibre,然后使用内置的电子书转换器将epub转换为docx。

对于原始问题,答案为时已晚,但是查看同一问题的人可能会觉得这很有用。

答案 7 :(得分:-4)

我现在不知道Sphinx是什么,但你可以创建一个rtf文件或html文件或类似的东西。

有关更多信息/方法,请参阅以下博文:OFFICE AUTOMATION

并从那里:How to use ASP to generate a Rich Text Format (RTF) document to stream to Microsoft Word

  

本文介绍如何使用ASP脚本生成RTF格式(RTF)文件,然后将这些文件流式传输到Microsoft Word。此技术为运行时文档生成提供了Microsoft Word服务器端自动化的替代方法。

你不使用ASP脚本(谁做:-)),但这个想法。