PDFKit – endlich einfache PDF Erstellung in Rails?

25. Jun 2010

Hier bei DIEVOLUTION wird viel mit PDF Generierung aus Webanwendungen gearbeitet. Für den Nutzer ist es immer toll, wenn etwas genauso ausgedruckt wird, wie man es am Bildschirm sieht, und dafür ist das PDF Format gut geeignet.
Bislang gibt es allerdings keinen wirklich guten PDF-Generator für Rails. Eventuell ist ja PDFKit der Retter?

Von PDFKit habe ich zum ersten mal in der Ruby5 Show gehört (zusammen mit 5by5.tv DIE Informationsquelle für alles was funkelt). Zur Zeit setze ich auf Prawn, das zwar sehr mächtig, aber auch sehr kompliziert ist. Vielleicht nicht für Standardausgaben, aber wer wie ich einen Messebesuchsbericht mit 90 Produkten nach Vorlage exakt nachbauen muss, dem vergeht die Lust an Garnelen…

Nun gibt es aber PDFKit, dessen Versprechung einfach genial ist. HTML+CSS schreiben, PDF erhalten. Das klingt zuerst richtig toll, und nach den ersten Tests (ein Langzeittest gibt es nach der Veröffentlichung des Pomodorohelpers 2.0) ist es auch wirklich gut.

Einbau in Rails
Um PDFKit mit Rails nutzen zu können, sind folgende Schritte notwendig:

  1. Gem [sudo] gem install pdfkit
  2. Folgende Einträge in die environment.rb von Rails einfügen:
    1. require ‘pdfkit’
    2.  config.middleware.use PDFKit::Middleware
  3. Das war es auch schon

Für das eigentliche Rendering an sich habe ich im Controller folgendes eingetragen:

  1. respond_to do |format|
  2.       format.pdf {
  3.         headers[‘Content-Disposition’] = "attachment; filename=\"export.pdf"
  4.         headers[‘Content-Type’] = "application/octet-stream"
  5.         headers[‘Cache-Control’] =
  6.         html = render :partial => "html_partial"
  7.         kit = PDFKit.new(html)
  8.         kit.stylesheets << RAILS_ROOT + ‘/public/stylesheets/styles.css’
  9.         send_data(kit.to_pdf, :filename => "export.pdf")
  10.       }

In diesem Beispiel rendert er das Partial “html_partial” zusammen mit dem Stylesheet “styles.css” und gibt ein Downloadfenster mit “export.pdf” aus.

Ich hoffe, ihr probiert PDFKit aus und natürlich freue mich auf jede Diskussion/Tippaustausch via Mail oder Kommentar zu diesem Thema.

Kategorie: Rails, Tipps | 2 Kommentare »


Veröffentlicht am Freitag, den 25. Juni 2010 um 17:44 Uhr veröffentlicht

Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

2 Reaktionen zu “PDFKit – endlich einfache PDF Erstellung in Rails?”

 

  1. CakePHP & DIEVOLUTION Blog » Blog Archiv » Kaum findet man ein neuen PDF Generator für Rails… Am 29. Juni 2010 um 20:05 Uhr

    [...] dieser ausführlich von railscasts.com besprochen. Ryan zeigt euch ein wenig ausführlicher wie hier im Blog (dafür auf Englisch) wie ihr mit PDFKit sehr einfach eine Webseite als PDF exportieren könnt. [...]

  2. ebook leser Am 8. Juli 2010 um 15:52 Uhr

    es freut mich immer, wenn sich das pdf format durchsetzt, das gibt mir immer futter für meine webseite.

Einen Kommentar schreiben

Du mußt angemeldet sein, um kommentieren zu können.