Sphinx 支持几种输出格式:
html
或 dirhtml
).pdf
或 .ps
如何获取 Microsoft Word 文件中的输出?
使用另一个文档生成器,我设法生成一个 html 输出文件,然后使用 Word 应用程序将其转换为 Microsoft Word 格式。
不幸的是,我不知道如何生成 Word 或 HTML 单页格式。
我使用的解决方案是像评论中提到的andho那样的singlehtml builder,然后使用pandoc将html转换为docx。 以下示例假设生成的 html 位于 _build/singlehtml/index.html
make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
PyPI (github) 中现在有一个 docxbuilder 扩展,效果很好:
pip install docxbuilder
docxbuilder
添加到 conf.py
make docx
PyPI 上还有 其他扩展,我还没有测试过 - 其中一些与此具有共同的代码。
要将重构文本中的文件转换为 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
稍后使用该模板进行各种转换。
我意识到这是一个老问题,但我发现 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
这个答案不是命令行解决方案,它显然不是最好的,但它对我有用并节省我的时间。生成 html 文件1后,您可以使用浏览器打开生成的 html 并复制整个页面(Crtl + a 和 Ctrl+ c),然后运行 Microsoft Office(如果没有 Microsoft Windows,则使用 live 版本,例如我)并粘贴(Ctrl+v)到它。
最好的选择可能是 rst -> odt -> doc
这是使用 Calibre (https://calibre-ebook.com) 的解决方法,其中包含一个强大的转换器。这效果很好,大部分格式都被保留了:
make epub
对于原来的问题来说,答案已经太晚了,但是看到同样问题的人可能会发现这很有用。
我现在不知道 Sphinx 是什么,但你可以创建一个 rtf 文件或 html 文件或类似的文件。
请参阅以下博文了解更多信息/方法:办公自动化
然后从那里:如何使用 ASP 生成富文本格式 (RTF) 文档以流式传输到 Microsoft Word
本文介绍如何使用 ASP 脚本生成富文本格式 (RTF) 文件,然后将这些文件流式传输到 Microsoft Word。该技术为运行时文档生成提供了 Microsoft Word 服务器端自动化的替代方案。
您不使用 ASP 脚本(谁使用 :-) ),而是为了这个想法。