documentation - software - Cómo generar documentos de Microsoft Word usando Sphinx
sphinx python tutorial windows (8)
Sphinx soporta algunos formatos de salida:
- Varios archivos HTML (con
html
odirhtml
) - Látex que es útil para crear
.pdf
o.ps
- texto
¿Cómo puedo obtener salida en un archivo de Microsoft Word en su lugar?
Con otro generador de documentos, logré generar un único archivo de salida html y luego convertirlo al formato de Microsoft Word utilizando la aplicación Word.
Desafortunadamente, no conozco una forma de generar Word o el formato HTML de una sola página.
Ahora no sé qué es Sphinx, pero podría crear un archivo rtf o un archivo html o algo similar.
Vea el siguiente blogpost para más información / enfoques: AUTOMATIZACIÓN DE OFICINAS
y desde allí: cómo usar ASP para generar un documento en formato de texto enriquecido (RTF) para transmitir a Microsoft Word
Este artículo describe cómo puede generar archivos de formato de texto enriquecido (RTF) con una secuencia de comandos ASP y luego transmitirlos a Microsoft Word. Esta técnica proporciona una alternativa a la automatización de Microsoft Word del lado del servidor para la generación de documentos en tiempo de ejecución.
No usas el script ASP (que hace :-)), pero para la idea.
Esta es una solución que utiliza Calibre ( https://calibre-ebook.com ), que incluye un poderoso convertidor. Esto funcionó bien y la mayoría del formato se conserva:
- Generar salida de epub en Sphinx
make epub
- Importe la salida de epub a Calibre y luego convierta epub a docx utilizando el conversor de libros electrónicos incorporado.
La respuesta es demasiado tarde para la pregunta original, pero las personas que buscan el mismo problema pueden encontrar esto útil.
Esta respuesta no es una solución de línea de comando y obviamente no es la mejor, pero simplemente funciona para mí y me ahorra tiempo. Después de generar el archivo html 1 , puede abrir el html generado con un navegador y copiar la página completa (Crtl + a y Ctrl + c) y luego ejecutar Microsoft Office (o usar la versión en vivo si no tiene Microsoft Windows, como yo) y pegar (Ctrl + v) a ella.
Hay una extensión de Sphinx para generar el formato docx
(que no he probado) y una más nueva (que tampoco he probado)
La mejor opción podría ser rst -> odt -> doc
- Convertir los documentos de la esfinge en el formato de openoffice .
- Luego convierta el archivo abierto con openoffice y guarde en Word. Pero no sé cómo hacer esto automáticamente.
La solución que utilizo es el constructor de un solo código como andho mencionado en el comentario, luego convierta el html a docx usando pandoc. El siguiente ejemplo asume que el html generado se ubicará en _build / singlehtml / index.html
make singlehtml
cd _build/singlehtml/
pandoc -o index.docx index.html
Me doy cuenta de que esta es una pregunta antigua, pero descubrí que LibreOffice es compatible con la siguiente forma de realizar la conversión (asumiendo que soffice.exe está en su ruta):
soffice.exe --invisible --convert-to doc myInputFile.odt
Algunas cosas que he leído dicen que usar la opción --headless en lugar de --invisible. Ambos parecen funcionar en Windows.
Puede comenzar con el script rst2odt.py y luego hacer lo anterior para convertirlo en un documento de MS Word.
Aquí hay un enlace con opciones de inicio adicionales para LibreOffice: http://help.libreoffice.org/Common/Starting_the_Software_With_Parameters
Aquí hay un enlace con tipos de archivos compatibles con OpenOffice que, creo, LibreOffice también debería admitir: http://wiki.services.openoffice.org/wiki/Framework/Article/Filter/FilterList_OOo_3_0
Para convertir archivos en texto reestructurado a MSdoc, uso rst2odt
y next unoconv
. Mira el siguiente script:
#!/bin/sh
rst2odt $1 $1.odt
unoconv -f doc $1.odt
rm $1.odt
Con rst2odt
puede usar su propia hoja de estilo: unoconv
viene con OpenOffice y también le permite aplicar un estilo de Open Office (plantilla) durante la conversión. Simplemente edite un documento convertido, cambie los estilos, agregue encabezados y pies de página, guárdelo como una Plantilla de Documento de Texto ODF (OTT) y use esto como parte de la conversión, como:
unoconv -f doc -t template.ott $1.odt
para utilizar esa plantilla para varias conversiones más adelante.