public
Description: Adds pdf-writer support to Rails. The original project is outdated. This fork supports 2.3.2 and adds a few other goodies.
Homepage: http://rubyforge.org/projects/railspdfplugin/
Clone URL: git://github.com/pelargir/railspdf.git
name age message
file CHANGELOG Thu Apr 30 14:11:12 -0700 2009 updated docs [Matthew Bass]
file README Wed May 06 09:09:34 -0700 2009 updated readme [Matthew Bass]
file Rakefile Mon Jun 09 14:55:20 -0700 2008 initial commit [Matthew Bass]
file TODO Tue Mar 24 07:24:11 -0700 2009 fixed for rails 2.3.2 [Matthew Bass]
file init.rb Mon Jun 09 15:28:26 -0700 2008 added CHANGELOG and tests [Matthew Bass]
directory lib/ Tue Mar 24 07:29:50 -0700 2009 more fixes for rails 2.3.2 [Matthew Bass]
directory test/ Mon Dec 15 02:36:13 -0800 2008 add Rails 2.2 support + improve documentation [did]
README
railspdf

Adds pdf-writer support to Rails 2.3.2


Usage
-----

Before going further, do not forget to add the following line in one of our initializers file:

  ActionView::Template.register_template_handler 'rpdf', RailsPDF::PDFRender

To begin rendering PDFs, simply create a view with a .rpdf extension and paste in the code:

  pdf.select_font "Times-Roman"
  pdf.text "Hello, World", :font_size => 72, :justification => :center

If you want the text to be dynamic, simply replace "Hello World" with an instance variable. It works like a charm, 
although I had to rearrange the code a bit to make it work. (See the sample controller code at the bottom.)

I've not yet tested any of this; I was just too excited once it started working. Note: to get plugins to work properly, 
you MUST restart the server after installing it.

  **Important** If you are using a layout, you must disable it for the view!!! 

The default filename for the pdf is "Default.pdf" I'll probably change that later to reflect the view name, but for now 
it works pretty good. To override it, set an instance variable in your controller named "@rails_pdf_name" The rendered 
pdf will take this filename.

Please let me know if you have any questions.


Sample Controller
-----------------

  class PagesController < ApplicationController
    def getpdf
      @rails_pdf_name = "Hello.pdf"
      @content = "This is dynamic content!!!"
    end
  end


Another way
-----------

  class OrdersController < ApplicationController
    def show
      @order = Order.find(params[:id])
    
      respond_to do |format|
        format.html
        format.pdf do 
          @rails_pdf_name = "order_#{@order.token}.pdf"
          render :layout => false
        end
      end
    end
  end

Note: you have to register the mime-type for pdf files. The line below has to be added to your 
config/initializer/mime_types.rb file:

  Mime::Type.register "application/pdf", :pdf

To render the link in your views to generate the pdf, just do this:
  
  <%= link_to 'pdf', formatted_order_path(order, :pdf) %>


Sample View
-----------

  pdf.select_font "Times-Roman"
  pdf.text @content, :font_size => 72, :justification => :center


Helpers
-------

View helpers can be used inside your .rpdf templates. By default, the view helper with the
same name as your controller is made available to your views. For example, if your controller
is named UsersController, the helper named UsersHelper will be included. Note that the
pluralization of the controller and helper names must match.


Misc
----

Original RubyForge project (outdated):
  http://rubyforge.org/projects/railspdfplugin/

GitHub fork:
  http://github.com/pelargir/railspdf/

Clone URL:
  git://github.com/pelargir/railspdf.git


Credit
------

  * Created by Tom Willett
  * Forked and updated by Matthew Bass <pelargir@gmail.com>