67 votos

Descuento a docx, incluyendo plantilla compleja

He automatizado mi build para convertir archivos Markdown para archivos DOCX usando Pandoc. Yo he utilizado un documento de referencia para el documento final del estilo. El comando que uso es:

pandoc -f markdown -t docx --data-dir=docs/rendering/ mydoc.md -o mydoc.docx

El reference.docx es recogido por Pandoc de docs/rendering y Pandoc renders mydoc.docx con los mismos estilos como el de referencia doc.

Sin embargo, reference.docx contiene más que los estilos. Contiene corporativa logotipos, preámbulo, etc.

¿Cómo puedo automatizar la fusión de la Reducción del contenido, tanto con los estilos y el contenido de reference.docx. Mi solución, hay que trabajar en Linux.

12voto

Andrew Puntos 3589

Idealmente, usted podría usar un custom docx plantilla, pero pandoc no admite que todavía. Un reference.docx archivo sólo permite a los estilos personalizados para ser incorporados en el recién creado los archivos docx.

Afortunadamente, usted puede aproximar esta usando odt en vez de docx. Usted puede fácilmente modificar el valor predeterminado de OpenDocument plantilla para incluir sus logotipos personalizados, preámbulo, y otras cosas. Utilizar la plantilla personalizada junto con un reference.odt archivo para obtener todos los estilos y contenido personalizado.

Una vez que tenemos el archivo en formato odt, se puede utilizar cualquier número de herramientas de línea de comandos para convertir odt a docx. Por ejemplo, en Linux se puede ejecutar

libreoffice --invisible --convert-to docx test.odt

O en OS X:

/Applications/LibreOffice.app/Contents/MacOS/soffice.bin --invisible --convert-to docx test.odt

11voto

RJHunter Puntos 612

Idealmente, PanDoc va a crecer esta característica , pero no parece probable que en cualquier momento pronto.

Yo no sé acerca de cualquiera de las herramientas que va a hacer el trabajo directamente, sino que probablemente se podría lograr bajar de nuevo a la fusión de reference.docx y su PanDoc producidos mydoc.docx en el código.

El .docx formato es un archivo ZIP de (la mayoría) de los archivos XML. El más importante es, word/document.xml. Si utiliza una herramienta XML (la mayoría de) document.xml de un archivo y la inserta en el otro, tendrás algo más cerca de lo que usted necesita.

Yo podría hackear un ejemplo en, digamos, Ruby si una ilustración de ayuda.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X