article2pdf: Artikel oder Seiten als pdf ausdrucken
19. April 2009
Abgelegt unter WordPress Plugins A-Z
Ein oft geäußerter Wunsch ist, Besuchern die Möglichkeit zu geben, Artikel oder Seiten auch als pdf ausdrucken zu können. Diese Funktion bietet das Plugin article2pdf.
Darüber hinaus bietet das Plugin die Möglichkeit, eigene pdf-Templates für den Ausdruck zur Verfügung zu stellen.
Die Installation ist einfach. Das Plugin wird in den Plugin-Ordner geladen und aktiviert.
Unter Einstellungen -> article2pdf sind nun noch ein paar Anpassungen notwendig.
Damit beim nächsten Update des Plugins eventuell erstellte Vorlagedateien etc. nicht verloren gehen, wird im Ordner wp-content/uploads/ ein Unterordner pdftemplates erstellt, dem Schreibrechte gegeben werden müssen (im ftp-Programm Rechtsklick auf den Ordner und CHMOD 777 einstellen).
Der Pfad zu diesem Ordner wird nun bei bei article2pdf Einstellungen als absoluter Pfad zum Vorlagenverzeichnis eingetragen.
In diesen Ordner kann man dann eigene pdf Vorlagen hochladen und auswählen.
Die weiteren Einstellungen sind selbsterklärend. Eventuell muss auch das tmp Verzeichnis noch mit Schreibrechten versehen werden.
Nun muss noch das Template angepasst werden, damit der Link zur pdf-Erstellung im Template erscheint.
Hat man benutzerdefinierte Permalinks aktiviert, so wird der pdf-Link an geeigneter Stelle wie folgt eingefügt:
<a href="<?php the_permalink(); ?>?article2pdf=1">PDF Version</a>
Bei Standard Permalinks ("?p=123") lautet der Befehl wie folgt
<a href="<?php the_permalink(); ?>&article2pdf=1">PDF Version</a>
Will man bei den pdf-Templates den Rand um die Überschrift entfernen, so muss man die Datei article2pdf.php modifizieren. In Z208 findet sich der Befehl
$pdf -> Cell( 0, $this -> a2p_AdminOptions[ 'PDFOptionLineHeight' ] * ceil( $pdf -> GetStringWidth( $this -> _decode_utf( html_entity_decode( strip_tags( $post -> post_title ), ENT_QUOTES, 'UTF-8' ) ) ) / ($pdf -> w - $pdf -> lMargin - $pdf -> rMargin) ), $this -> _decode_utf( html_entity_decode( strip_tags( $post -> post_title ), ENT_QUOTES, 'UTF-8' ) ), 1, 1, 'C' );
Die letzten drei Parameter kann man z.B. ändern auf 0,1,’L’ (ohne Rahmen, Ausrichtung links)
$pdf -> Cell( 0, $this -> a2p_AdminOptions[ 'PDFOptionLineHeight' ] * ceil( $pdf -> GetStringWidth( $this -> _decode_utf( html_entity_decode( strip_tags( $post -> post_title ), ENT_QUOTES, 'UTF-8' ) ) ) / ($pdf -> w - $pdf -> lMargin - $pdf -> rMargin) ), $this -> _decode_utf( html_entity_decode( strip_tags( $post -> post_title ), ENT_QUOTES, 'UTF-8' ) ), 0, 1, 'L' );

