Sphinx 支持几种输出格式:
- 多个 HTML 文件(带
html
或dirhtml
) - 乳胶可用于创建
.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 builder,然后使用pandoc将html转换为docx。以下示例假定生成的 html 将位于 _build/singlehtml/index.html
make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
要将重组文本中的文件转换为 MSdoc,我使用rst2odt
和 next 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
This is a workaround using Calibre (https://calibre-ebook.com), which includes a powerful converter. This worked well and most of the formatting are preserved:
make epub
Answer is too late for the original question, but people looking at the same problem may find this useful.
这个答案不是命令行解决方案,它显然不是最好的,但它对我有用并节省了我的时间。生成 html 文件1后,您可以使用浏览器打开生成的 html 并复制整个页面(Crtl + a 和 Ctrl+ c)然后运行 Microsoft Office(或者如果您没有 Microsoft Windows,则使用 live 版本,如我)并粘贴 (Ctrl+v) 到它。
我现在不知道 Sphinx 是什么,但你可以创建一个 rtf 文件或 html 文件或类似的东西。
有关更多信息/方法,请参阅以下博文:办公自动化
并从那里:如何使用 ASP 生成富文本格式 (RTF) 文档以流式传输到 Microsoft Word
本文介绍如何使用 ASP 脚本生成富文本格式 (RTF) 文件,然后将这些文件流式传输到 Microsoft Word。该技术为运行时文档生成提供了 Microsoft Word 服务器端自动化的替代方法。
您不使用 ASP 脚本(谁使用 :-)),而是为了这个想法。