= Overview {Gem Version}[http://badge.fury.io/rb/prawn_plus] {Code Climate GPA}[https://codeclimate.com/github/bkuhlmann/prawn_plus] {Travis CI Status}[http://travis-ci.org/bkuhlmann/prawn_plus] = Features * Loads the Prawn[https://github.com/prawnpdf/prawn] gem by default (no Gemfile entry necessary). * Registers PDF as a MIME type. * Registers a template handler for rendering ".prawn" template view files. = Requirements 1. {Ruby 2.0.x}[http://www.ruby-lang.org]. 2. {Ruby on Rails 3.2.x}[http://rubyonrails.org]. 3. Prawn[https://github.com/prawnpdf/prawn]. = Setup Type the following from the command line to install: gem install prawn_plus Add the following to your Gemfile: gem "prawn_plus" = Usage == Views Within your views you can craft Prawn templates using Ruby code. For example, assuming there are document resources, then the following structure might exist: /views/documents/show.html.erb /views/documents/show.pdf.prawn The show.html.erb could have a link to the PDF download. Example: <%= link_to "PDF Download", action: "show", id: @document.id, format: "pdf" %> The show.pdf.prawn file would contain the Prawn syntax for crafting the PDF. A simple example might look like this: pdf.text "Hello, I'm a PDF!" ...which would render the following output: {}[https://github.com/bkuhlmann/prawn_plus] You could also render a more complex PDF with tabular information, for example: pdf.text "Metals" pdf.move_down 10 pdf.font_size = 10 data = [ ["Name", "Atomic Number", "Price"], ["Mercury", "80", number_to_currency(10)], ["Platinum", "78", number_to_currency(25)], ["Titanium", "22", number_to_currency(50)] ] pdf.table data, header: true, column_widths: [100, 50, 50], row_colors: ["FFFFFF", "E5ECF9"] do columns(0).align = :left columns(1..2).align = :right row(0).text_color = "FFFFFF" row(0).background_color = "000000" row(0).columns(0..2).font_style = :bold row(0).columns(0..2).align = :center end ...which would render the following output: {}[https://github.com/bkuhlmann/prawn_plus] NOTE: The _pdf_ object must always be referenced when making using of the Prawn syntax - it is initialized for you as a Prawn::Document instance. == Controllers Within your controller, only the respond_to method is required. Using the same example above, only the following would be necessary: class DocumentsController < ApplicationController respond_to :pdf def show end end That's it! = Tests To test, do the following: 1. cd to the gem root. 2. bundle install 3. bundle exec rspec spec = Contributions Read CONTRIBUTING for details. = Credits Developed by {Brooke Kuhlmann}[http://www.redalchemist.com] at {Red Alchemist}[http://www.redalchemist.com] = License Copyright (c) 2012 {Red Alchemist}[http://www.redalchemist.com]. Read the LICENSE for details. = History Read the CHANGELOG for details. Built with Gemsmith[https://github.com/bkuhlmann/gemsmith].