Utilice un docx como plantilla jinja2
Este paquete utiliza 2 paquetes principales:
python-docx para leer, escribir y crear subdocumentos
jinja2 para gestionar etiquetas insertadas en la plantilla docx
python-docx-template se ha creado porque python-docx es potente para crear documentos pero no para modificarlos.
La idea es comenzar a crear un ejemplo del documento que deseas generar con microsoft word, puede ser tan complejo como quieras: imágenes, tablas de índice, pie de página, encabezado, variables, cualquier cosa que puedas hacer con word. Luego, mientras todavía estás editando el documento con Microsoft Word, insertas etiquetas similares a jinja2 directamente en el documento. Guarda el documento como un archivo .docx (formato xml): será su archivo de plantilla .docx.
Ahora puede usar python-docx-template para generar tantos documentos de Word como desee a partir de esta plantilla .docx y las variables de contexto que asociará.
Por favor, lea el documento.
Si te gusta python-docx-template, echa un vistazo a algunos de mis otros proyectos:
django-listing: una biblioteca de listados/tablas con esteroides para Djano
python-textops3: operaciones de texto encadenables
django-robohash-svg: Crea avatares de robots svg