Utiliser un docx comme modèle jinja2
Ce package utilise 2 packages majeurs :
python-docx pour lire, écrire et créer des sous-documents
jinja2 pour gérer les balises insérées dans le modèle docx
python-docx-template a été créé car python-docx est puissant pour créer des documents mais pas pour les modifier.
L'idée est de commencer par créer un exemple du document que vous souhaitez générer avec Microsoft Word, il peut être aussi complexe que vous le souhaitez : images, tableaux d'index, pied de page, en-tête, variables, tout ce que vous pouvez faire avec Word. Ensuite, comme vous êtes toujours en train de modifier le document avec Microsoft Word, vous insérez des balises de type jinja2 directement dans le document. Vous enregistrez le document sous forme de fichier .docx (format xml) : ce sera votre fichier modèle .docx.
Vous pouvez désormais utiliser python-docx-template pour générer autant de documents Word que vous le souhaitez à partir de ce modèle .docx et des variables de contexte que vous associerez.
S'il vous plaît, lisez la doc
Si vous aimez python-docx-template, veuillez jeter un œil à certains de mes autres projets :
django-listing : Une bibliothèque de listings/tables sur stéroïdes pour Djano
python-textops3 : Opérations de texte chaînables
django-robohash-svg : Créer des avatars de robots svg