Thomas Maier | Magento & WordPress Develover post@webzunft.de | +49 162 9313 708

Antworten auf die Fragen – nicht nur meiner Kunden 

RSS
Home WordPress WordPress für Entwickler Dynamische WordPress-Seiten als PDF speichern

Dynamische WordPress-Seiten als PDF speichern

Für einen kürzlich beendeten Auftrag sollte eine dynamisch erzeugte Seite als PDF gespeichert werden können. In diesem Zusammenhang habe ich mir drei WordPress-Plugins zur Erzeugung von PDFs angesehen und mich schließlich für eine externe Bibliothek entschieden. Dieser Artikel gibt dazu einen kurzen Überblick.

WordPress Plugins

PDF24 Articles to PDF

An diesem Plugin störte mich die Einbindung eines Skriptes von der Anbieterseite und die damit verbundene extreme Werbung für diesen. Für meinen Kunden kam aber dieses extreme Branding nicht in Frage, weshalb ich keine intensiveren Tests vorgenommen habe.

http://wordpress.org/extend/plugins/pdf24-posts-to-pdf/

Print Friendly and PDF Button

Auch hier gibt es wieder eine Menge Eigenwerbung. Dafür liegt das Skript auf dem eigenen Rechner. Das Ausschließkriterium war hier jedoch, dass der Nutzer ein Interface an die Hand bekommt, mit dem er sich die Teile die er aus der Seite exportieren möchte selbst heraussuchen kann. Damit verbunden ist auch eine Druckfunktion, die nicht deaktivierbar war. Ich wollte aber eine Ein-Klick-Lösung, die einfach das PDF generiert und den Besucher der Seite nicht mit zu vielen Fragen abschreckt.

http://wordpress.org/extend/plugins/printfriendly/

WP Post to PDF

Dieses Plugin liefert den schnellsten Weg zum Export. Das Layout ist dafür aber sehr einfach. Das Plugin nutzt im Wesentlichen den Inhalt des Hauptfeldes. Damit werden Custom Fields oder im Template dynamisch erzeugte Inhalte ausgeblendet. Auch der Versuch die dynamischen Inhalte per Shortcode an den Content zu übergeben scheiterten, weil das Plugin die GET-Parameter in der URL ignoriert.

Von allen Plugins erschien mir der Autor hier sehr bemüht. Wer also „nur“ den Export von Artikeln benötigt, der ist hier gut aufgehoben.

http://wordpress.org/extend/plugins/wp-post-to-pdf/

DOMPDF

Ich fand die Lösung letztendlich bei dompdf. Das ist eine php-Bibliothek die genau für den Export von HTML-Seiten geschrieben wurde. Dabei werden CSS und selbst JavaScript so gut wie möglich berücksichtigt. Das gute daran ist der aktive Autor und die vielen Fragen und Antworten auf der Bibliotheksseite selbst und in anderen Foren. Mit Hilfe des Tutorials und der vielen Beiträge war es mir möglich, die Bibliothek schnell einzubinden.

Zwei Einschränkungen hatte ich in meinem Fall:

  • die Einbindung neuer Fonts ist zwar möglich, aber in meinem Fall gab es ein unlösbares Problem mit einem Prozentzeichen das an einer Stelle richtig, an einer anderen falsch dargestellt wurde. Die Fehlerquelle konnte ich nicht aufspüren.
  • ein auf der Kundenseite in einem HTML5 canvas gezeichnetes Diagramm wurde nicht übernommen.

Beide Einschränkungen konnte ich nicht lösen, wobei ich vermute, dass es bessere Workarounds gibt als das wie in meinem Fall einfach zu ignorieren und die Seiteninhalte anzupassen.

Noch ein Tipp für die Einbindung in WordPress. Wer die Inhalte im PDF anders darstellen oder kürzen bzw. erweitern will (in unserem Fall wollten wir beim Export zusätzliche Kontaktdaten anzeigen), der kann wie folgt vorgehen:

  1. Erstellung eines zusätzlichen Templates
  2. Erstellung einer weiteren Seite im Backend
  3. Zuweisung des neuen Templates mit der neuen Seite
  4. Verlinkung des „PDF erzeugen“-Buttons auf die neue Seite
  5. zu SEO-Zwecken ggf. „noindex, nofollow“ auf die neue Seite setzen

http://code.google.com/p/dompdf/

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
2 Comments  comments 

2 Antworten

  1. Interesseant, vielen Dank für die Tipps. Ich werde die Plugins testen und dann teile ich hier die Ergebnisse und Erfahrungen mit.

    NOchmals Merci.
    RG

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.