= Ezprint Ezprint is a drop in replacement for the princely plugin. It uses PDFKit as the backend instead of princexml, possibly saving you millions of dollars. I recommend using the Rack middleware component of PDFKit to print PDFs in rails, but this plugin makes an easy transition from prince->PDFKit for those using princely. == Installation == Rails 2.x gem install ezprint in environment.rb config.gem "ezprint" == Rails 3 gem 'ezprint' then run "bundle install" == Example The examples here are similar to princely, since the plugin is basically a reworking of the princely source class PDFExample < ApplicationController def show respond_to do |format| format.html format.pdf do render :pdf => "My Awesome PDF", :template => "controller/action.pdf.erb", :stylesheets => ["application","print"] :layout => "pdf" end end end # Alternatively, you can use make_and_send_pdf to # render out a PDF for the action without a # respond_to block. def pdf make_and_send_pdf("file_name") end end == Render Defaults The defaults for the render options are as follows: layout: false template: the template for the current controller/action stylesheets: none == Using another PDF processor While ezprint has been designed with PDFKit in mind, other PDF processors such as princexml can be used. A princexml processor is included and can be used by setting Ezprint.processor = :prince in an initializer. It's also easy to create your own processor: module Ezprint module Processors class MyProcessor < Base def self.process(html_string, options = {}) # Code to return a PDF string from an html string here. end end end end == Possible Gotchas If you're getting a "Broken Pipe" error when rendering PDF documents, you may need to install the wkhtmltopdf-binary gem or put it in your Gemfile. == Credits * Michael Bleigh for writing the awesome princely plugin, which most of the code is reworked from. == Resources * Copyright (c) 2010 Jason Stewart, released under the MIT license.