Reese: Seiten auf Webserver rendern und daraus ein PDF erzeugen

Hi @ all

Ich befasse mich momentan mit FOP um von Webseiten (aus einem CMS) PDFs zu erzeugen und diese dann dem Besucher zum Download bereit zu stellen.

Nun ist mir die Idee gekommen, dies über eine Rendering Engine zu machen. Das ganze habe ich mir etwa so vorgestellt, wie wenn man im Browser auf Drucken klickt und dann einen PDF Printer auswählt, aber einfach serverseitig.

Daher meine Frage: Ist es möglich eine Webseite (XHMLT & CSS) mit z.B. der Gecko Engine auf einem Apache Webserver direkt zu rendern und dann an einen PDF Printer (z.B. cups-pdf) weiter zu geben und dies dann dem Besucher als PDF zum Download bereit zu stellen.

Dies würde das Bereitstellen einer PDF-Erzeugungsfunktion wesentlich vereinfachen, da ich ohnehin bereits ein CSS Sheet für die Druckausgabe definiert habe und das PDF eigentlich gleich aussehen soll.

Ich weiss jedoch nicht wie ich so etwas bewerkstelligen kann und bin daher für jeden Hinweis dankbar.

Gruss Reese

  1. Hi Reese,

    grundsätzlich möglich ist es schon. Allerdings gilt es zu berücksichtigen, dass bspw. Gecko das Font Rendering über pango macht, welches wiederum auf einem X-Server oder GDI aufsetzt.

    Nun kann man auf seinem Server einen X-Server laufen lassen, der wiederum firefox scriptet und die entsprechenden PDFs ausgibt. Leider wird man dabei feststellen, dass dies den Speicher des Servers erheblich belastet.

    Selbst mit Webkit, welches das Rendering weiter abstrahiert als Gecko, ist es nicht so einfach möglich, weshalb entsprechende Services auch ganze Serverfarmen zum Rendern der Seiten betreiben.

    Wesentlich einfacher ist es, wenn man den Seiteninhalt ohnehin in einem einfachen maschinenlesbarem Format (bspw. Wikicode) vorliegen hat, dieses lokal zu PDF zu wandeln.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes