Ответ 1
Существует расширение Sphinx для создания формата docx
(который я еще не тестировал) и более новый (который я также не тестировал)
Sphinx поддерживает несколько форматов вывода:
html
или dirhtml
).pdf
или .ps
Как я могу получить вывод в файле Microsoft Word?
С другим генератором doc мне удалось создать один выходной файл html, а затем преобразовать его в формат Microsoft Word с помощью приложения Word.
К сожалению, я не знаю способ генерации одностраничного формата Word или HTML.
Существует расширение Sphinx для создания формата docx
(который я еще не тестировал) и более новый (который я также не тестировал)
Чтобы преобразовать файлы в реструктурированный текст в MSdoc, я использую rst2odt
и next unoconv
. Посмотрите следующий script:
#!/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
чтобы использовать этот шаблон для различных преобразований позже.
Лучшим вариантом может быть rst → odt → doc
Я понимаю, что это старый вопрос, но я обнаружил, что LibreOffice поддерживает следующий способ выполнения преобразования (если soffice.exe находится на вашем пути):
soffice.exe --invisible --convert-to doc myInputFile.odt
Некоторые вещи, которые я прочитал, говорят, что используйте опцию --headless, а не -invisible. Оба, похоже, работают в Windows.
Вы можете начать с rst2odt.py script, а затем сделать это, чтобы преобразовать в документ 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, например я) и вставьте (Ctrl + v) к ней.
Это обходной путь с использованием Caliber (https://calibre-ebook.com), который включает мощный конвертер. Это хорошо работает, и большая часть форматирования сохраняется:
make epub
Ответ слишком поздний для исходного вопроса, но люди, которые ищут одну и ту же проблему, могут найти это полезным.
Решение, которое я использую, это singlehtml builder, например andho, упомянутый в комментарии, а затем преобразовать html в docx с помощью pandoc. В следующем примере предполагается, что сгенерированный html будет расположен в _build/singlehtml/index.html
make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
Теперь я не понимаю, что такое Sphinx, но вы можете создать файл rtf или html файл или что-то подобное.
Для получения дополнительной информации/подходов см. следующий blogpost: ОФИСНАЯ АВТОМАТИЗАЦИЯ
В этой статье описывается, как вы можете создавать файлы RTF с помощью ASP script, а затем передавать эти файлы в Microsoft Word. Этот метод обеспечивает альтернативу серверной автоматизации Microsoft Word для генерации времени выполнения.
Вы не используете ASP script (кто делает:-)), но для этой идеи.