Welcome, Guest
Username: Password: Remember me
s =

TOPIC: Anleitung: ODT nach PDF konvertieren

Anleitung: ODT nach PDF konvertieren 6 months 3 weeks ago #56746

  • mschwenker
  • mschwenker's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 1
  • Thank you received: 2
  • Karma: 0
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.
  1. LibreOffice installieren, wenn nicht schon vorhanden
  2. 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.
  3. In Dolibarr unter Einstellungen->Andere Einstellungen folgende Variablen hinzufügen
  4. MAIN_ODT_AS_PDF auf libreoffice setzen
  5. 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.
Last Edit: 6 months 3 weeks ago by mschwenker.
The administrator has disabled public write access.
The following user(s) said Thank You: creamycewie, tevsa

Anleitung: ODT nach PDF konvertieren 6 months 1 week ago #56755

Hallo.

Danke für den hilfreichen Tipp.
Nur eine kleine Frage dazu:
LibreOffice muss (nehme ich an) am Server installiert sein oder?
Lässt sich dies irgendwie auf den Client auslagern?

Lieben Dank!
The administrator has disabled public write access.

Anleitung: ODT nach PDF konvertieren 2 weeks 3 days ago #57026

  • tevsa
  • tevsa's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 3
  • Karma: 0
Hallo zusammen,

erstmal danke an Mschwenker für die Anleitung.
Ich habe diese Anleitung 1:1 nachvollzogen.
Sie klappt auch - jedenfalls laut Log. In der Logdatei wird der Befehl ja angezeigt:

dolibarr.log
Odf::exportAsAttachedPDF $execmethod=2 Run command=soffice -headless -convert-to pdf -outdir "c:/dolibarr/dolibarr_documents/facture/(PROV172)" "c:/dolibarr/dolibarr_documents/facture/(PROV172)/(PROV172)_invoice-2018.odt"
Im Log wird der entsprechende String auch angezeigt, der wenn ich Ihn kopiere und in der Bash (bzw DOS-Box) ausführe auch prima funktioniert- Ich habe beides ausprobiert.

Im Produktiv-System (Linux) sind auch die entsprechenden Ordner auf 775 bzw. 777 (testweise) gesetzt.


Was mich am meisten wundert ist das es in der Bash (console) ja funktioniert,
nur wenn es der PHP-Code im odt.php machen soll macht er es nicht.

Jemand eine Idee woran das liegen könnte?

Lieben Dank
The administrator has disabled public write access.
Moderators: Peter A. Gebhardt
Time to create page: 0.157 seconds