PDF erstellen | Nur Miete / Lizenz |
baseportal.de bietet über eine Service-Funktion die Möglichkeit PDFs von Webseiten "on-the-fly" zu erstellen.
Beispiel:
<perl> $_header="Content-type: application/pdf\n\n"; $url="baseportal.de"; out get "http://pdf.baseportal.de?url=".convert_url($url); </perl>
Bitte beachten: Es ist sinnvoll, beim Aufruf der Seite "&.pdf" an die URL anzuhängen, da einige Internet-Explorer-Versionen fehlerhaft sind und die Ausgabe sonst nicht als PDF erkennen. Aus demselben Grund, sollten baseportal-Aufrufe in der "Kurzform", also z.B. "netpure.de/baseportal/name/seite", bzw. "domain.de/baseportal/seite" angegeben werden.Es gehen so ziemlich alle HTML-Tags als Vorlage, jedoch kein CSS. Tiefe Tabellenschachtelungen können auch das gewollte Layout zerstören.
Um dynamisch PDFs aus einer Datenbank zu erzeugen, muss einfach eine entsprechende baseportal-Seite angegeben werden, die z.B. eine Tabelle erzeugt:
<perl> $_header="Content-type: application/pdf\n\n"; $url="DOMAIN.de/baseportal/SEITE"; out get "http://pdf.baseportal.de?url=".convert_url($url); </perl>
<table> <loop> <tr><td>$Name</td><td>$Strasse</td></tr> </loop> </table>
<perl> my $link="netpure.de/baseportal/baseportal/pdf_test"; if($pdf==0) { out '<a href="'.$link.'?pdf=1">Diese Seite als PDF</a><br><br>'; } elsif($pdf==1) { $_header="Content-type: application/pdf\n\n"; out get "http://pdf.baseportal.de?url=".convert_url("$link?pdf=2"); } </perl> ...hier die normale Seite...
Kleine Tipps: man kann viele 'vorgegebenen' Parameter beeinflussen oder ausschalten. Mit folgendem Code schaltet man alle Header und Footer aus und setzt die Seitengrösse A4 und die Ränder fest, sodass man die ganze Fläche nutzen kann:
<!-- MEDIA SIZE A4 --> <!-- MEDIA TOP 0mm --> <!-- MEDIA BOTTOM 0mm --> <!-- MEDIA LEFT 20mm --> <!-- MEDIA RIGHT 20mm --> <!-- HEADER LEFT "" --> <!-- HEADER CENTER "" --> <!-- HEADER RIGHT "" --> <!-- FOOTER LEFT "" --> <!-- FOOTER CENTER "" --> <!-- FOOTER RIGHT "" -->
Als Verweis für eine PDF-Seite bietet sich dieses kleine Gif an:
Des weiteren kann die Ausgabe über eine Vielzahl von Parametern gesteuert werden:
http://www.easysw.com/htmldoc/htmldoc.html#CMDREF
Bis auf die Befehle, bei denen es um Dateien auf dem Server geht (verboten ist also z.B. "batch"), ist alles erlaubt. Diese müssen einfach mit übergeben werden (ohne "--" davor), z.B.:
<perl> $_header="Content-type: application/pdf\n\n"; $url="baseportal.de"; out get "http://pdf.baseportal.de?url=".convert_url($url)."&fontsize=10&bodycolor=f0f0ff&landscape=1"; </perl>