Как генерировать документы Microsoft Word с использованием Sphinx - PullRequest
19 голосов
/ 13 мая 2009

Sphinx поддерживает несколько форматов вывода:

  • Несколько файлов HTML (с html или dirhtml)
  • Латекс, который полезен для создания .pdf или .ps
  • текст

Как вместо этого получить вывод в файле Microsoft Word?

С другим генератором документов мне удалось создать один выходной файл html, а затем преобразовать его в формат Microsoft Word с помощью приложения Word.

К сожалению, я не знаю способа создания одностраничного формата Word или HTML.

Ответы [ 8 ]

7 голосов
/ 13 марта 2013

Существует расширение Sphinx для создания формата docx (который я не проверял) и более новый (который я также не проверял)

5 голосов
/ 12 января 2011

Чтобы преобразовать файлы в реструктурированном тексте в 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

чтобы позже использовать этот шаблон для различных преобразований.

3 голосов
/ 06 декабря 2017

Решение, которое я использую, это singlehtml builder, как andho, упомянутый в комментарии, затем преобразуйте html в docx, используя pandoc. В следующем примере предполагается, что созданный html будет находиться по адресу _build / singlehtml / index.html

make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
1 голос
/ 26 апреля 2012

Я понимаю, что это старый вопрос, но я обнаружил, что LibreOffice поддерживает следующий способ выполнения преобразования (при условии, что soffice.exe находится на вашем пути):

soffice.exe --invisible --convert-to doc myInputFile.odt

Некоторые вещи, которые я прочитал, говорят, что вместо опции --invisible используется опция --headless. Кажется, что оба работают на 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 голос
/ 25 августа 2009

Лучшим вариантом может быть первый -> odt -> doc

  • Преобразование документов sphinx в формат openoffice .
  • Затем конвертируйте open odt с помощью openoffice и сохраняйте в Word. Но я не знаю, как сделать это автоматически.
0 голосов
/ 27 октября 2017

Это обходной путь с использованием Caliber (https://calibre -ebook.com ), который включает в себя мощный конвертер. Это сработало хорошо и большая часть форматирования сохранилась:

  • Создать вывод epub в Sphinx make epub
  • Импорт вывода epub в Caliber, а затем преобразование epub в docx с помощью встроенного конвертера электронных книг.

Ответ на исходный вопрос слишком поздний, но люди, которые ищут ту же проблему, могут найти это полезным.

0 голосов
/ 14 июля 2016

Этот ответ не является решением командной строки, и он, очевидно, не самый лучший, но он просто работает для меня и экономит мое время. После создания HTML-файла 1 вы можете открыть созданный HTML-файл с помощью браузера и скопировать всю страницу (Crtl + a и Ctrl + c), а затем запустить Microsoft Office (или использовать живую версию, если у вас Microsoft Windows, как я) и вставьте в него (Ctrl + v).

0 голосов
/ 13 мая 2009

Теперь я не знаю, что такое Sphinx, но вы можете создать RTF-файл или HTML-файл или что-то подобное.

См. Следующий пост для получения дополнительной информации / подходов: АВТОМАТИЗАЦИЯ ОФИСА

и оттуда: Как использовать ASP для создания документа Rich Text Format (RTF) для потоковой передачи в Microsoft Word

В этой статье описывается, как создавать файлы в формате RTF с помощью сценария ASP, а затем передавать эти файлы в Microsoft Word. Этот метод предоставляет альтернативу серверной автоматизации Microsoft Word для генерации документов во время выполнения.

Вы не используете ASP-скрипт (который делает :-)), но для идеи.

...