Classe de manipulation de modèles Docx pour Laravel 10.x, basée sur le langage de modèles moustache. Cette classe est encore en cours de développement et fonctionne actuellement davantage comme une preuve de concept. Les choses changeront rapidement et pourraient tout casser.
Ce package vous aide à utiliser des fichiers docx avec la syntaxe moustache comme modèles pour fusionner des documents richement stylisés avec des informations provenant de n'importe quelle source de données. Il peut remplacer du texte et des images et prend en charge le style HTML de base (gras, italique, souligné).
composer require wrklst/ docxmustache
Veuillez vérifier les dépendances ci-dessous et le dossier d'exemples pour la configuration et l'utilisation.
La conversion HTML actuelle est basique et ne prend en charge que des passages uniques de texte en gras, italique et souligné, et aucune combinaison de ceux-ci. Il nécessite que toutes les valeurs non HTML soient échappées avec htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
et un préfixe de *[[DONOTESCAPE]]*
pour que la classe sache ne pas échapper au code HTML avant qu'il ne soit converti en openXML.
L'image doit être une URL accessible avec une image dans un format pris en charge. La valeur de l'URL doit être placée dans le champ de description du texte alternatif de l'image. Les images seront rééchantillonnées selon les contraintes de l’image d’espace réservé. La valeur de l'image doit être formatée avec des pseudo-balises, telles que : [IMG-REPLACE]http://placehold.it/350x150[/IMG-REPLACE]
Veuillez également consulter l'exemple dans le dossier d'exemple pour avoir une compréhension de base de la façon d'utiliser cette classe.
La conversion au format PDF nécessite que libreoffice-common
soit installé sur le serveur (utilisé pour la conversion). Utilisez sudo apt install libreoffice-common
sur votre serveur basé sur Ubuntu/Debian. Installez également ttf-mscorefonts si vous avez besoin de la prise en charge de la police Arial lors de la conversion de documents docx en pdf sudo apt-get install ttf-mscorefonts-installer
Le package dépend de plusieurs fonctions spécifiques à Laravel. Il pourrait facilement être porté sur d’autres frameworks ou être porté pour être indépendant du framework. En plus de la dépendance Laravel, la page utilise les packages suivants :
Dépendances spécifiques à Laravel (uniquement pertinentes si elles sont portées dans un environnement non Laravel) :
Si vous souhaitez contribuer quelque chose à ce package, n'hésitez pas à faire une pull request et un problème correspondant et nous serons heureux de l'examiner et d'en discuter.
Il existe des cours qui aident à rédiger et/ou à modifier le contenu de documents Word, certains avec des licences commerciales et d'autres gratuitement. Pour notre objectif particulier, nous n'avions pas besoin de la plupart des fonctionnalités dont disposent de nombreuses bibliothèques - nous avions besoin d'une solution simple qui permettrait de remplacer des valeurs et des images et de parcourir les données de manière simple et directe.
De nombreuses autres bibliothèques utilisent le clonage pour répéter un bloc avec une syntaxe de modèle personnalisée au lieu d'utiliser une syntaxe de modèle existante. Nous utilisons la syntaxe habituelle de la moustache, également pour obtenir un contenu répétitif dans autant de dimensions que nécessaire.
Autres classes PHP pour manipuler des documents Word openXML :