Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace
-
@seetalchile ja, die Info habe ich, ich habe auch die offizielle Version vom Ubuntu package repo versucht (da die nicht statisch kompiliert ist und QT nicht installiert ist funktioniert das natürlich auch nicht...)
davon abgesehen glaube ich, dass der Aufwand hier einen Workaround zu finden fast größer sein dürfte als die Unterstützung von einer PHP lib zu implementieren..
-
@fodinabor sagte in Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace:
Ebenso unsere Gründe fürs Self-Hosting.
Wir hatten uns vor einigen Jahren vom shared hosting verabschiedet, weil die Performance (und die Flexibilität) so miserabel war. Mag aber auch am Anbieter gelegen haben ...
CT hosten wir jetzt direkt bei CT und alle Webseiten, die Nextcloud, LimeSurvey usw. auf einem virtuellen Server.
-
Okay, ich habe das jetzt mit nem winzigen script für uns gelöst.
Wer Interesse hat:
https://next.egp-jugend.de/index.php/s/otyGasgsur1Eg6tInfos:
- PHP Version 5.6+ vorausgesetzt (der Pfad zu php56, php70, php71 muss ggf. in der Datei phantomjs angepasst werden - Standard ist 7.1)
- Installation: kopiere die Dateien aus der zip in den
bin
Ordner, wo sonst die phantomjs Datei liegen müsste, die phantomjs muss für den webuser ausführbar sein, ansonsten gerne wieder eine .htaccess mit dem InhaltDeny from all
anlegen. - mpdf muss via composer installiert werden (dafür mit installiertem composer in dem
bin
Ordnercomposer install
ausführen)
Bei Rückfragen gebe ich gerne etwas Support
-
@fodinabor sagte in Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace:
Okay, ich habe das jetzt mit nem winzigen script für uns gelöst.
Wer Interesse hat:
https://next.egp-jugend.de/index.php/s/otyGasgsur1Eg6tInfos:
- PHP Version 5.6+ vorausgesetzt (der Pfad zu php56, php70, php71 muss ggf. in der Datei phantomjs angepasst werden - Standard ist 7.1)
- Installation: kopiere die Dateien aus der zip in den
bin
Ordner, wo sonst die phantomjs Datei liegen müsste, die phantomjs muss für den webuser ausführbar sein, ansonsten gerne wieder eine .htaccess mit dem InhaltDeny from all
anlegen. - mpdf muss via composer installiert werden (dafür mit installiertem composer in dem
bin
Ordnercomposer install
ausführen)
Bei Rückfragen gebe ich gerne etwas Support
Ich kann hier gar nicht oft genug auf "Gefällt mir" drücken. Das ist ja der Wahnsinn!!! Vielen Dank für die Mühe und die tolle Umsetzung. Wenn das jetzt noch zum Standard in CT werden würde... Wow!
-
Wir sind bei DomainFactory und da habe ich das gleiche Problem mit PDF erstellen.
Wie funktioniert das mit dem Composer und der mpdf installation? -
@benib Was genau ist unklar? Wo bleibst Du stecken?
-
@joe999 brauche ich dazu einen ssh Zugang oder geht das auch ohne?
-
Für den MPDF via Composer wirst Du SSH benötigen, ja.
-
Alternativ kannst du auch lokal MPDF via composer installieren und den vendor Ordner hochladen....
-
Das hat jetzt schonmal funktioniert.
Leider kann ich immernoch keine PDF exportieren.Bei der Datenauskunft kommt: Creating Pdf from Html failed.
Beim Kalender PDF export kommt: Fehler aufgetreten in churchcal. Could not execute phantomjs, Error code: 127Im Logfile kommt einmal:
ErrorHandler: Creating Pdf from Html failed. RequestId: 5b38d4b8f2548 Module: Param:
und: Error in AbstractModule:call - Could not execute phantomjs, Error code: 127Okay, bei all-inkl. zum testen funktioniert es. bei domainfactory leider noch nicht. Das ist schonmal was.
-
hast du der Datei Ausführungsrechte hinzugefügt?
Also z.b. 755?
zum testen setz die Rechte mal auf 777 (und änders danach bitte unbedingt wieder).
Kann sein, dass der Webuser nur in der besitzenden Gruppe ist o.ä... -
Ja hab ich.
Es geht auch, wenn ich die Zeile
/usr/bin/php71 bin/pdfgen.php $2 $3 $4 $5
lösche. Nur dann wird ja auch nichts erstellt.
Vermutlich fehlt die Berechtigung die php71 auszuführen oder die gibt es dort nicht.
PHP 7.1.15 läuft. -
ja.. das kann gut sein.. versuch mal einfach nur php, /usr/bin/php71 oder nur php71.. weiß leider nicht mehr, wie ich den passenden Pfad gefunden hatte -,-
-
Hab noch etwas rumprobiert. Damit funkionierts:
/usr/local/bin/php7-71LATEST-CLIDanke.
-
@fodinabor Vielen Vielen Dank. Das ist genau das, wonach ich schon seit langem gesucht habe.
Ich musste nur noch die Version für mpdf anpassen (in der composer.json), damit es mit PHP7.4 klar kommt.Unsere Heizungssteuerung basiert auf einer direkten Abfrage der Datenbank. Da dies nur als Selfhoster möglich ist, wir aber mangels fehlender Endpoints in der REST-API nicht auf die Ressourcen zugreifen können (für die alte API wollen wir nichts mehr entwickeln), bleibt uns nur exakt dieser Weg. Und Dank deiner Lösung, die ich hier mehr oder weniger zufällig entdeckt habe, sind nun auch (wieder) PDFs möglich. Hosting: WebHosting bei Hetzner
Schick sehen die noch nicht so wirklich aus. Kann man da etwas formatieren? Hat das jemand schon versucht? Habe mir mangels Zeit noch nicht die mpdf Parameter angesehen. Ist aber nur sekundär...
Nochmals: Danke!
-
@metowa20 freut mich, dass das geholfen hat
Mittlerweile ist das doch sogar einigermaßen hübsch - das sah früher ein ganzes Stück schlimmer aus..
Da wurde wohl bisschen aufgeräumt uns seit her ist das relativ nah an dem Layout, das bei den hosted instanzen auch rauskommt.. habe mir das HTML, das dafür verwendet wrid, gerade mal im Browser anzeigen lassen - das sieht dem PDF doch sehr ähnlich.Theoretisch könnte man wohl das HTML noch um ein bisschen CSS oder so in der
pdfgen.php
anreichern, bevor es mpdf übergeben wird.. -
@fodinabor Habe gerade festgestellt dass der Ablaufplan im PDF Export über mpdf nur den Kopf enthält, aber keine Ablaufdaten.
Hättest du spontan eine Idee dazu?
Datenauskunft ist ok und Serienbriefe scheinen auch ok zu sein. Nur der Ablaufplan macht mir irgendwie grad Sorgen.... -
@metowa20 interessant.. in meiner aktuellen Instanz (3.64.2) und mpdf und co in der Version, wie oben angegeben, funktioniert das einwandfrei (wenn auch nicht 100% optimal formatiert ):