Clase de manipulación de plantillas Docx para Laravel 10.x, basada en el lenguaje de plantillas de bigote. Esta clase todavía está en pleno desarrollo y funciona más como una prueba de concepto en este momento. Las cosas cambiarán rápidamente y podrían romperse.
Este paquete le ayuda a utilizar archivos docx con sintaxis de bigote como plantillas para fusionar documentos con estilos ricos con información de cualquier fuente de datos. Puede reemplazar texto e imágenes y admite estilos HTML básicos (negrita, cursiva, subrayado).
composer require wrklst/ docxmustache
Consulte las dependencias a continuación y la carpeta de ejemplos para conocer la configuración y el uso.
La conversión HTML actual es básica y solo admite ejecuciones singulares de texto en negrita, cursiva y subrayado y ninguna combinación de estos. Requiere que todos los valores que no sean html se escapen con htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
y un prefijo de *[[DONOTESCAPE]]*
para que la clase sepa que no debe escapar del html antes de convertirlo a openXML.
La imagen debe ser una URL accesible con una imagen en un formato compatible. El valor de la URL debe colocarse en el campo de descripción de texto alternativo de la imagen. Las imágenes se volverán a muestrear según las limitaciones de la imagen del marcador de posición. El valor de la imagen debe formatearse con pseudoetiquetas alrededor, como: [IMG-REPLACE]http://placehold.it/350x150[/IMG-REPLACE]
Consulte también el ejemplo en la carpeta de ejemplos para obtener una comprensión básica de cómo usar esta clase.
La conversión a PDF requiere que esté instalado libreoffice-common
en el servidor (utilizado para la conversión). Utilice sudo apt install libreoffice-common
en su servidor basado en ubuntu/debian. Instale también ttf-mscorefonts si necesita compatibilidad con la fuente Arial al convertir documentos docx a pdf sudo apt-get install ttf-mscorefonts-installer
El paquete depende de varias funciones específicas de Laravel. Podría trasladarse fácilmente a otros marcos o trasladarse para que sea independiente del marco. Además de la dependencia de Laravel, la página utiliza los siguientes paquetes:
Dependencias específicas de Laravel (solo relevantes si se trasladan a un entorno que no es Laravel):
Si desea contribuir con algo a este paquete, no dude en realizar una solicitud de extracción y un problema correspondiente y estaremos encantados de revisarlo y discutirlo.
Existen algunas clases que ayudan a escribir o cambiar el contenido de documentos de Word, algunas con licencias comerciales y otras gratuitas. Para nuestro propósito particular, no necesitábamos la mayoría de las características que tienen muchas de las bibliotecas que existen; necesitábamos una solución simple que permitiera reemplazar valores e imágenes y recorrer datos de una manera fácil y directa.
Muchas de las otras bibliotecas utilizan la clonación para repetir un bloque con alguna sintaxis de plantilla personalizada en lugar de utilizar una sintaxis de plantilla existente. Usamos la sintaxis habitual del bigote, también para lograr repetir contenido en tantas dimensiones como sea necesario.
Otras clases de PHP para manipular documentos de texto openXML: