Generating printable documents can be ridiculously hard, but it doesn't have to be. What we really need is not another special purpose application or kitchen-sink library, but a hackable platform instead.

We are working hard on Prawn 1.0, which supports both high level APIs for the most common needs and low level APIs that allow developers to bend the system as they see fit. Stay tuned for more news, but for now, give Prawn a try!

Getting started with Prawn can be as simple as:

require 'prawn'
Prawn::Document.generate('hello.pdf') do |pdf|
  pdf.text("Hello Prawn!")
end

Check out Prawn's awesome self-documenting manual and the source it is built from to learn more.

About

Prawn is a joint effort between our core team (Gregory Brown, James Healy, Brad Ediger, Daniel Nelson, Jonathan Greenberg) and dozens of contributors from the Ruby community. Our goal for Prawn is to bring the sort of modularity and aggressive code re-use found in web development to the printable document problem space.

Another primary aim of ours is to make Prawn as contributor friendly as possible. We have a strong record of actively reviewing any bug report or patch that comes in, and are happy to help educate would-be-contributors about our project so that they can share with the community. If you like the project and want to help out, please do get involved!

- Fast, Nimble PDF Writer for Ruby -