Hallo zusammen,
ich bin im Rahmen meines Integrationsprozesse auf die Möglichkeit gestoßen, die ODT Templates direkt als PDF konvertieren zu lassen und ohne das odt2pdf.sh Script zu verwenden. Da die folgende Schritte nicht dokumentiert sind und ich sie nur gefunden habe, weil ich mir den PHP Code (odt.php) angeschaut habe, hier eine kurze Anleitung.
Zur Info ich verwendet die neuste Version 8.0.0, deswegen kann ich nicht sagen ob es mit älteren bereits auch geht.
- LibreOffice installieren, wenn nicht schon vorhanden
- Sicherstellen das soffice.exe im Windows/Linux Path bekannt ist. Unter Windows ist zu beachten das der Pfad nicht im Benutzer Path sondern im System Path liegt, sonst findet PHP die soffice.exe Datei nicht.
- In Dolibarr unter Einstellungen->Andere Einstellungen folgende Variablen hinzufügen
- MAIN_ODT_AS_PDF auf libreoffice setzen
- MAIN_ODT_AS_PDF_DEL_SOURCE auf 1 setzen. (Optional). Das löscht nach Erstellung die generierte ODT Datei
Das wars. Ich habe es auf einem Windows System getestet. Ich werde das jetzt noch auf einem Debian Server, ohne UI testen. Das sollte aber gehen weil Dolibarr das Programm soffice im headless mode ausführt.
Ich habe es jetzt auch auf einem Linux System getestet, Ubuntu 18.0 (ohne UI). Es war dabei ein bischen was zu beachten.
Damit die Anwendung soffice die Konvertierung durchführen konnte, musste das Verzeichnis /var/www entsprechende Schreibrechte besitzten. Ich es erst auf chmod +R 777 gestellet. Einmal ausgeführt, und dann auf chmod +R 755. Seit dem läuft es Problem los.
soffice muss einmalig einen .cache Ordner anlegen und ein paar Dateien schreiben. Ansonsten kommt es zu Merkwürdigen fehlern.