Docx-Vorlagenmanipulationsklasse für Laravel 10.x, basierend auf der Mustache-Vorlagensprache. Diese Klasse befindet sich noch in der intensiven Entwicklung und funktioniert derzeit eher wie ein Proof of Concept. Die Dinge werden sich schnell ändern und möglicherweise Dinge kaputt machen.
Dieses Paket hilft Ihnen, docx-Dateien mit Moustache-Syntax als Vorlagen zu verwenden, um reich gestaltete Dokumente mit Informationen aus beliebigen Datenquellen zusammenzuführen. Es kann Text und Bilder ersetzen und unterstützt grundlegende HTML-Stile (fett, kursiv, unterstrichen).
composer require wrklst/ docxmustache
Bitte überprüfen Sie die Abhängigkeiten unten und den Beispielordner auf Konfiguration und Verwendung.
Die aktuelle HTML-Konvertierung ist einfach und unterstützt nur einzelne Durchgänge von fettem, kursivem und unterstrichenem Text und keine Kombination davon. Es erfordert, dass alle Werte, die nicht HTML sind, mit htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
und ein Präfix von *[[DONOTESCAPE]]*
damit die Klasse weiß, dass sie den HTML-Code nicht maskieren muss, bevor er in openXML konvertiert wird.
Das Bild muss eine erreichbare URL mit einem Bild in einem unterstützten Format sein. Der URL-Wert muss in das Alternativtext-Beschreibungsfeld des Bildes eingefügt werden. Bilder werden gemäß den Einschränkungen des Platzhalterbilds neu berechnet. Der Bildwert muss mit Pseudo-Tags formatiert werden, z. B.: [IMG-REPLACE]http://placehold.it/350x150[/IMG-REPLACE]
Bitte schauen Sie sich auch das Beispiel im Beispielordner an, um ein grundlegendes Verständnis für die Verwendung dieser Klasse zu erhalten.
Für die Konvertierung in PDF muss libreoffice-common
auf dem Server installiert sein (der für die Konvertierung verwendet wird). Verwenden Sie sudo apt install libreoffice-common
auf Ihrem Ubuntu/Debian-basierten Server. Installieren Sie auch ttf-mscorefonts, wenn Sie beim Konvertieren von docx-Dokumenten in PDF Unterstützung für die Schriftart Arial benötigen. sudo apt-get install ttf-mscorefonts-installer
Das Paket ist von mehreren Laravel-spezifischen Funktionen abhängig. Es könnte leicht auf andere Frameworks portiert werden oder so portiert werden, dass es Framework-unabhängig ist. Zusätzlich zur Laravel-Abhängigkeit verwendet die Seite die folgenden Pakete:
Laravel-spezifische Abhängigkeiten (nur relevant, wenn in eine Nicht-Laravel-Umgebung portiert):
Wenn Sie etwas zu diesem Paket beitragen möchten, können Sie gerne eine Pull-Anfrage und ein entsprechendes Problem stellen. Wir werden uns dann gerne mit Ihnen befassen und darüber diskutieren.
Es gibt einige Kurse, die beim Schreiben und/oder Ändern des Inhalts von Word-Dokumenten helfen, einige mit kommerziellen Lizenzen, andere kostenlos. Für unseren speziellen Zweck benötigten wir nicht die meisten Funktionen, die viele der verfügbaren Bibliotheken bieten – wir brauchten eine einfache Lösung, die es ermöglicht, Werte und Bilder zu ersetzen und Daten auf einfache und unkomplizierte Weise zu durchsuchen.
Viele der anderen Bibliotheken verwenden das Klonen, um einen Block mit einer benutzerdefinierten Vorlagensyntax zu wiederholen, anstatt eine vorhandene Vorlagensyntax zu verwenden. Wir verwenden die übliche Moustache-Syntax, auch um sich wiederholende Inhalte in beliebig vielen Dimensionen zu erreichen.
Andere PHP-Klassen zum Bearbeiten von openXML-Word-Dokumenten: