users:werner:pdfoutput
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
users:werner:pdfoutput [2006-10-04 0832] – Hinweis auf doku>users:wflamme:pdfex werner | users:werner:pdfoutput [2008-08-23 0952] (aktuell) – andere Links zu Dokuwiki werner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Seiteninhalt als PDF ====== | ||
+ | |||
+ | Oft möchte man den Inhalt einer Seite als PDF-Datei auf seinem Rechner haben. Wer nun keinen PDF-Drucker installiert hat, kann auf PDF-Dateien zugreifen, die vom Server bereitgestellt werden. Dazu muss man am [[doku> | ||
+ | |||
+ | Ich habe mich für einen Weg entschieden, | ||
+ | |||
+ | Zunächst habe ich mich bei der Umsetzung für [[http:// | ||
+ | |||
+ | Ich lasse das Tool eine PDF-Datei erzeugen und baue einen Link zum Herunterladen in die Fußzeile. | ||
+ | |||
+ | Zuerst muss ich dazu das verwendete Template betrachten: wo wird der Inhalt ausgegeben und wo soll der Link entstehen? Ich benutze ein leicht verändertes [[doku> | ||
+ | |||
+ | Nun muss ich die Datei '' | ||
+ | |||
+ | Dadurch ist sichergestellt, | ||
+ | <code php> | ||
+ | <?php | ||
+ | // Umwandlung Inhalt -> PDF-Datei | ||
+ | include(DOKU_INC . ' | ||
+ | $destdir = DOKU_INC . ' | ||
+ | if (! @is_dir($destdir)) @mkdir($destdir); | ||
+ | $leaveTime = 60 * 60 * 24; | ||
+ | if (@is_dir($destdir)) { | ||
+ | if ($dh = @opendir($destdir)) { | ||
+ | while (($file = @readdir($dh)) !== false) { | ||
+ | if (time() - @filemtime($file) > $leaveTime) @unlink($file); | ||
+ | } // while (($file = @readdir($dh)) !== false) | ||
+ | @closedir($dh); | ||
+ | } // if ($dh = @opendir($destdir)) | ||
+ | } // if (@is_dir($destdir)) | ||
+ | $tempf1 = @tempnam($destdir, | ||
+ | $tempf2 = strtolower($tempf1 . ' | ||
+ | $linkname = DOKU_BASE . ' | ||
+ | @link($tempf1, | ||
+ | @unlink($tempf1); | ||
+ | @chmod($tempf2, | ||
+ | $mycss = ' | ||
+ | $myPDFsize = HTMLzuPDF($myhtml, | ||
+ | ?> | ||
+ | </ | ||
+ | <a <?php echo $tgt; ?> | ||
+ | | ||
+ | | ||
+ | <img style=" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </a> | ||
+ | </ | ||
+ | |||
+ | Kurze Erläuterung: | ||
+ | |||
+ | Der HTML-Teil darunter zeigt ein Beispiel für das Erstellen eines Links auf diese Datei. | ||
+ | |||
+ | Tja, damit bin ich bald fertig. Fehlt nur noch das Zurechtbasteln eines kleinen Icons für die Schaltfläche unten -- und der Eintrag von '' | ||
+ | |||
+ | ===== Bekannte Probleme ===== | ||
+ | |||
+ | * Bilder werden auf Grund der Art und Weise, wie die Links im Quelltext stehen, nicht ins PDF übernommen. Stattdessen erscheint der Platzhalter. | ||
+ | * relative Links (also innerhalb des DokuWiki) werden zwar als Link erkannt und von HTML2FPDF auch umgesetzt, jedoch als '' | ||
+ | * Smileys werden nicht angezeigt (wie Bilder), jedoch wird an dieser Stelle die Zeile umbrochen. | ||
+ | * Die CSS-Fähigkeiten von HTML2FPDF sind ... ausbaufähig... z. B. wird '' | ||
+ | |||
+ | ===== Neue Wege ===== | ||
+ | |||
+ | Auf [[doku> | ||
users/werner/pdfoutput.txt · Zuletzt geändert: 2008-08-23 0952 von werner