76 votes

Markdown à docx, y compris modèle complexe

J'ai automatisé de mon build pour convertir des fichiers Markdown pour les fichiers DOCX en utilisant Pandoc. J'ai même utilisé un document de référence pour le document final du style. La commande que j'utilise est:

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

L' reference.docx est capté par Pandoc de docs/rendering et Pandoc rend mydoc.docx avec les mêmes styles comme le document de référence.

Toutefois, reference.docx contient plus que juste les styles. Il contient coporate logos, préambule, etc.

Comment puis-je automatiser la fusion de la Minoration de contenu à la fois le style et le contenu de reference.docx. Ma solution a besoin de travailler sur Linux.

14voto

Andrew Points 3589

Idéalement, vous pouvez utiliser un docx modèle, mais pandoc ne supporte pas encore. Un reference.docx le fichier permet seulement des styles personnalisés pour être incorporé dans l'un des nouveaux fichiers docx.

Heureusement, vous pouvez approcher cette aide odt au lieu de docx. Vous pouvez assez facilement modifier la valeur par défaut OpenDocument modèle pour inclure vos logos personnalisés, préambule, et d'autres choses. Utiliser le modèle personnalisé en conjonction avec un reference.odt le fichier pour obtenir tous les styles et de contenu personnalisé.

Une fois que vous avez le fichier au format odt, vous pouvez utiliser n'importe quel nombre d'outils de ligne de commande pour convertir odt docx. Par exemple, sur Linux, vous pouvez exécuter

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

Ou sur OS X:

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

11voto

RJHunter Points 612

Idéalement, PanDoc va croître cette fonctionnalité , mais il n'a pas l'air comme probablement tout moment bientôt.

Je ne sais pas à propos de tous les outils qui vont faire le travail directement, mais vous pourriez probablement obtenir revenir à la fusion reference.docx et votre PanDoc-produit mydoc.docx dans le code.

L' .format docx est une archive ZIP de (surtout) de fichiers XML. La plus importante est word/document.xml. Si vous utilisez un outil XML à prendre (de la plupart) des document.xml à partir d'un fichier et de l'insérer dans l'autre, vous aurez quelque chose de plus proche de ce que vous avez besoin.

J'ai pu pirater un exemple, disons, Ruby si une illustration pourrait l'aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X