README.rdoc

Path: README.rdoc
Last Update: Tue Dec 06 12:43:57 +0000 2011

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

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.

[Validate]