Ride the magnificent sea creature known as Prawn!
For some general details: http://prawn.majesticseacreature.com
NOTE: If you ask a question about an unexpected behavior you're seeing in Prawn, but do not include a simplified code example which demonstrates the problem you are seeing, your question will probably not be answered. Instead, you'll just be asked to submit a code example that shows the problem. The best way to get a fast response is to provide illustrative code samples which we can run and then comment on. If your example needs specific fonts, images, etc to run, be sure to provide those as well, but only if they are part of the problem.