如何使用Sphinx生成Microsoft Word文档

问题描述 投票:0回答:8

Sphinx 支持几种输出格式:

  • 多个 HTML 文件(带有
    html
    dirhtml
  • Latex 可用于创建
    .pdf
    .ps
  • 文字

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

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

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

ms-word python-sphinx documentation-generation
8个回答
16
投票

我使用的解决方案是像评论中提到的andho那样的singlehtml builder,然后使用pandoc将html转换为docx。 以下示例假设生成的 html 位于 _build/singlehtml/index.html

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

9
投票

PyPI (github) 中现在有一个 docxbuilder 扩展,效果很好:

  • pip install docxbuilder
  • docxbuilder
    添加到
    conf.py
  • 中的扩展中
  • make docx

PyPI 上还有 其他扩展,我还没有测试过 - 其中一些与此具有共同的代码。


4
投票

要将重构文本中的文件转换为 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

稍后使用该模板进行各种转换。


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


1
投票

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


0
投票

最好的选择可能是 rst -> odt -> doc


0
投票

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

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

对于原来的问题来说,答案已经太晚了,但是看到同样问题的人可能会发现这很有用。


-5
投票

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

请参阅以下博文了解更多信息/方法:办公自动化

然后从那里:如何使用 ASP 生成富文本格式 (RTF) 文档以流式传输到 Microsoft Word

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

您不使用 ASP 脚本(谁使用 :-) ),而是为了这个想法。

© www.soinside.com 2019 - 2024. All rights reserved.