Comment puis-je créer un document Word à l'aide de Python?
J'aimerais créer un document Word à l'aide de Python, cependant, je tiens à re-utiliser autant de mon document existant-création de code que possible. Je suis actuellement en utilisant une transformation XSLT pour générer un fichier HTML que je en programmant convertir à un fichier PDF. Cependant, mon client demande maintenant que le même document disponible dans Word (.doc format.
Jusqu'à présent, je n'ai pas eu beaucoup de chance de trouver des solutions à ce problème. Quelqu'un est-il au courant d'une bibliothèque open source (ou gulp * une solution propriétaire) qui peuvent aider à résoudre ce problème?
REMARQUE: Toutes les solutions possibles doivent s'exécuter sur Linux. Je crois que cela élimine pywin32.
Vous devez vous connecter pour publier un commentaire.
Un couple de façons dont vous pouvez créer des documents Word à l'aide de Python:
pywin32
). http://python.net/crew/pirx/spam7/EDIT:
Depuis COM est hors de question, je suggère ce qui suit (inspiré par @kcrumley réponse):
À l'aide de l'ONU de la bibliothèque pour automatiser Open Office à partir de python, ouvrez le fichier HTML dans OOWriter, puis enregistrer sous .doc.
EDIT2:
Il y a maintenant un pur Python python-docx projet qui a l'air sympa (je n'ai pas utilisé).
J'ai essayé python-docx avec succès, il vous permet de créer et de modifier docx dans Python
1) Si vous voulez juste coller une autre étape sur la fin de votre pipeline actuel, il y a plusieurs options là-bas maintenant, pour la conversion des fichiers PDF en fichiers Word. Je n'ai pas essayé 123PDFConverter, mais le CNET Editors le recommande (même lien); il a une version d'essai gratuite; et il prend en charge l'automatisation. Comme avec n'importe quel de la 3e partie convertisseur de fichier, votre kilométrage peut varier, selon la complexité de vos documents Pdf sont, et comment bien le logiciel est réellement.
2) sur codeape COM d'automatisation de la proposition, si vous COM automatiser Word, vous pouvez ouvrir votre fichier HTML dans Word, et d'appeler la commande "Enregistrer sous" pour l'enregistrer comme un fichier DOC.
Que j'avais à faire quelque chose de similaire avec python ainsi. Il est loin plus de travail manuel que je veux, mais les documents créés avec pyRTF étaient à l'origine de Word et OpenOffice pour crash et je n'ai pas eu la motivation pour essayer de le comprendre.
Je trouve qu'il est plus simple (mais pas idéal) pour créer un modèle de document Word avec les styles que je veux. Puis mon Python crée un fichier HTML dont
<p>
styles sont étiquetés après le Mot de styles. Puis-je ouvrir le fichier HTML dans Word et ouvrez le modèle dans Word. J'ai couper et coller tout le texte à partir du fichier HTML dans le template, et le Mot re-formats selon les styles que j'avais mis en place précédemment. Qui travaille pour de l'occasionnel fichier dans ma situation. Il pourrait ne pas fonctionner pour votre situation. FYI.Pouvez-vous écrire est que le WordML des fichiers XML et la fermeture-éclair dans le .docx format? Tout ce que votre client aurait besoin est les Word 2007 filtre s'ils ne sont pas sur Office 2007 déjà.
Il y a de nombreux exemples.
Vous pouvez également charger le fichier XML directement dans Word, à partir de 2003, ou donc j'ai été informé.