princely

A simple Rails wrapper for the PrinceXML PDF generation library.

237
99
Ruby

Princely

Princely is a simple wrapper for the Prince XML PDF generation library.
The plugin will also automatically register the PDF MimeType so that you can use
pdf as a format in Rails controller respond_to blocks.

Example

class Provider::EstimatesController < Provider::BaseController
  # You can render PDF templates simply by
  # using the :pdf option on render templates.
  def show
    respond_to do |format|
      format.html
      format.pdf do
        render :pdf => 'file_name',
               :template => 'controller/action',
               :handlers => %w[erb],
               :formats => %w[pdf],
               :stylesheets => %w[application prince],
               :layout => 'pdf',
               :locals => { :foo => 'bar' },
               :disposition => 'inline', # PDF will be sent inline, means you can load it inside an iFrame or Embed
               :relative_paths => true # Modify asset paths to make them relative. See [the AssetSupport module](/lib/princely/asset_support.rb)
      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
locals:          none
stylesheets:     none
disposition:     attachment (created PDF file will be sent as download)
relative_paths:  true
server_flag:     true
javascript_flag: false
timeout:         none

Contributors

Resources

  • Copyright © 2007-2013 Michael Bleigh and Intridea, Inc., released under the MIT license.