Sphinx支持几种输出格式:
- 多个HTML文件(使用
html
或dirhtml
) - Latex,用于创建
.pdf
或.ps
文件 - 文本
我该如何获取Microsoft Word文件的输出?
通过另一种文档生成器,我成功地生成了一个单独的HTML输出文件,然后使用Word应用程序将其转换为Microsoft Word格式。
不幸的是,我不知道如何生成Word或HTML单页格式。
Sphinx支持几种输出格式:
html
或dirhtml
).pdf
或.ps
文件我该如何获取Microsoft Word文件的输出?
通过另一种文档生成器,我成功地生成了一个单独的HTML输出文件,然后使用Word应用程序将其转换为Microsoft Word格式。
不幸的是,我不知道如何生成Word或HTML单页格式。
我使用的解决方案是像评论中提到的andho一样使用singlehtml构建器,然后使用pandoc将HTML转换为docx。
以下示例假定生成的HTML位于_build/singlehtml/index.html。
make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
有一个Sphinx扩展程序可以生成docx
格式(我没有测试过),还有一个更新的扩展程序(我也没有测试过,但看起来更加活跃维护)
要将重构文本文件转换为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
最好的选择可能是 rst -> odt -> doc
这是一个使用Calibre(https://calibre-ebook.com)的解决方法,其中包含一个强大的转换器。这个方法效果不错,大部分格式都得以保留:
make epub
虽然答案已经对原问题来说有些晚了,但遇到相同问题的人可能会发现这个方法很有用。
我不知道Sphinx是什么,但你可以创建一个rtf文件或html文件或类似的东西。
请参见以下博客文章获取更多信息/方法:OFFICE AUTOMATION
从那里开始:如何使用ASP生成富文本格式(RTF)文档流到Microsoft Word
本文介绍了如何使用ASP脚本生成富文本格式(RTF)文件,然后将这些文件流式传输到Microsoft Word。该技术提供了一种替代Microsoft Word服务器端自动化用于运行时文档生成的方法。
你不使用ASP脚本(谁会呢:-)),但可以参考这个想法。
make singlehtml
以生成单个 HTML 文件。 - andho