PHP HTML und CSS zu PDF

  • Ersteller Ersteller Nussratte
  • Erstellt am Erstellt am
N

Nussratte

Gast
Hallo,
ich bin etwas am verzweifeln und hoffe hier kann jemand helfen

ich versuche eine Webseite in eine pdf zu packen/legen/generieren wie ihr es auch immer nennen mögt.
Also eine eigene Webseite auf der dann oben im Menü ein Button kommt, "PDF erzeugen" über den sich die Benutzer dann halt die Seite in eine PDF legen können um sich das abzuspeichern oder das auch auszudrucken

Ich habe schon fpdf, tcpdf, html2pdf usw durchprobiert leider ist es mir nicht möglich damit brauchbare Ergebnisse zu erzielen.
Die ganzen Parameter die diese Libarys zB haben, brauche ich im Endeffekt alle nicht wirklich
super wäre es wenn es da ne Klasse gibt die im Konstruktor 2 Parameter hat, HTML-File, CSS-File return PDF
Gibt es nicht sowas einfaches?

die oben genannten Libs erzeugen zwar PDFs aber dann nur aus dem HTML und machen nix mit dem CSS oder man kann das CSS gar nicht einbinden, oder es werden nur teile vom CSS genutzt und der Rest wird "etwas" zerschossen" so das nicht mal zu erkennen ist, das was in der PDF so aussieht wie die Ursprüngliche Seite

hoffe hier hat jemand nen Rat
 
Hallo,

an einer automatisierbaren Lösung, eine HTML-Seite mit vollwertiger CSS-Umsetzung bin ich ebenfalls interessiert. Ich habe ebenfalls schon zig LIBS ausprobiert, aber keine bietet vollwertige CSS-Umwandlung an. Ich arbeite viel mit Tabellen, Rahmen und Farben (Hintergründen) und es hat bisher keine kostenlose noch bezahlsoftware geschafft, dies zu lösen. Manuell geht das am allerbesten noch mit Adobe Acrobat Pro, aber das ist eben keine Lösung fürs Web.

Wenn Du genug Geld hast, kannst Du Dir mal Prince anschauen. http://www.princexml.com/
 
Nussratte schrieb:
hoffe hier hat jemand nen Rat

Es gibt imho nur eine wirklich funktionierende automatische Lösung: wkhtmltopdf
vor allem durch die vielen möglichen Optionen (Seitengröße, Ränder, Zoom etc.).

Das kann man in PHP prima über execute ausführen.
 
iDave schrieb:

sollte möglichst in PHP sein

Überkinger schrieb:
an einer automatisierbaren Lösung, eine HTML-Seite mit vollwertiger CSS-Umsetzung bin ich ebenfalls interessiert. Ich habe ebenfalls schon zig LIBS ausprobiert, aber keine bietet vollwertige CSS-Umwandlung an. Ich arbeite viel mit Tabellen, Rahmen und Farben (Hintergründen) und es hat bisher keine kostenlose noch bezahlsoftware geschafft, dies zu lösen.....

jupp genau das ist das Problem

Überkinger schrieb:
Wenn Du genug Geld hast, kannst Du Dir mal Prince anschauen. http://www.princexml.com/

A: nein hab ich natürlich nicht ;-)
B: ist das für nen Kunden der mir bestimmt nen Vogel zeigen wird

scheint also n Markt zu sein in dem man mit ner guten und günstigen Lösung etwas verdienen könnte
wenn ich jetzt nur noch zeit für sowas hätte
 
blöderidiot schrieb:
Es gibt imho nur eine wirklich funktionierende automatische Lösung: wkhtmltopdf
vor allem durch die vielen möglichen Optionen (Seitengröße, Ränder, Zoom etc.).

Das kann man in PHP prima über execute ausführen.

Annähernd eine Lösung, wenn die Webseite nicht sehr komplexen CSS beinhaltet. wkhtmltoPDF kann nicht alles aus CSS umsetzen und macht z.b. bei Tabellenrahmen schwierigkeiten.
Ergänzung ()

Nussratte schrieb:
A: nein hab ich natürlich nicht ;-)
B: ist das für nen Kunden der mir bestimmt nen Vogel zeigen wird


Vielleicht ist https://docraptor.com/ eine Lösung? Ich bin da momentan dran, denn es konvertiert weitgehend alles CSS sehr sauber.
 
Überkinger schrieb:
Annähernd eine Lösung, wenn die Webseite nicht sehr komplexen CSS beinhaltet. wkhtmltoPDF kann nicht alles aus CSS umsetzen und macht z.b. bei Tabellenrahmen schwierigkeiten.

Wirklich? Ich habe gerade auf einer Linux-Kiste:
wkhtmltopdf -q --use-xserver https://www.computerbase.de computerbase.pdf
gestartet und ein nahezu perfektes 2-seitiges PDF (650KB) mit Flash-Werbung erhalten (wkhtmltopdf 0.11.0 rc1).

w1shoj.jpg

Bist Du sicher, dass Du das nicht mit html2pdf verwechselst?
 
Zuletzt bearbeitet:
blöderidiot schrieb:
Wirklich? Ich habe gerade auf einer Linux-Kiste:

gestartet und ein nahezu perfektes 2-seitiges PDF (650KB) mit Flash-Werbung erhalten (wkhtmltopdf 0.11.0 rc1).

Anhang anzeigen 329835

Bist Du sicher, dass Du das nicht mit html2pdf verwechselst?

Tja, dazu müsste ich auf meinem Produktivserver erstmal den X-Server installieren.

Habs grad auf der Windowskiste probiert.

Mein HTML-Dokument ist exakt auf A4 Querformat angepasst und hat drei Seiten. Wenn ich nun dieses versuche passgerecht in ein PDF mit 3 Seiten zu konvertieren, gelingt dies nicht. Nachteil von wkhtml ist, dass es ein modifiziertes Qt benötigt, was nicht auf allen Distributionen verfügbar ist.
 
Zuletzt bearbeitet:
Man könnte auch PhantomJS mal ausprobieren, das hat auch eine Screenshot-Funktionalität und benötigt laut der FAQ seit Version 1.5 keinen Xserver mehr.

Aber Lösungen in PHP und Co. kann man direkt in die Tonne knicken, die Entwickler können da eben keinen so guten Renderer bauen wie Browser dies tun, der Aufwand ist einfach astronomisch. Als bleiben nur Lösungen die den Webkit oder Mozilla Gecko irgendwie "missbrauchen" um Webseiten zu rendern. Der Vorteil von Webkit ist eben, dass Webkit keine Grafikrenderengine beinhaltet, die muss zu Webkit jeder hinzubasteln. So ist es eben auch möglich, dass es Webkit basierte Lösungen geben kann, die keinen Xserver benötigen.
 
danke für die ganzen antworten

da es sich bei der Seite "nur" um dargestellte Tabellen handelt
wurde das nun etwas modifiziert und die ausgabe in PDF erfolgt nun mit FPDF und wird damit etwas modifiziert damit es wenigtens so ähnlich ist wie die Webseite, keine Lösung wie es eig geplant war, erfüllt aber seinen zweck
 
Warum musst du für eine Tabelle eine ganze html Siete darstellen? Tabellen lassen sich doch auch so super erstellen?
 
Ich habe die Tage auf der Arbeit einen generischen PDF-Renderer in PhP geschrieben. Das ganze habe ich mit fpdf realisiert. Wenn man da einmal drin sit (was sehr schnell geht ;) ) , kann man das sehr schön verwenden.
 
Zurück
Oben