#!/usr/bin/env ruby # try to make a sparkfun invoice using prawn require 'rubygems' require 'json' require 'prawn' class SparkPDF def spit (structure) Prawn::Document.generate('testinvoice.pdf', :page_layout => :portrait) do font "Courier" text "SparkFun Invoice", :at => [10, 20] image "logo.png", :width => 84, :height => 52 structure.each do |thing| text thing end number_pages " of ", [bounds.right - 50, bounds.top - 10] end end end # test code fakeinput = JSON ['bar', 'foo', 'baz'] structure = JSON fakeinput document = SparkPDF.new document.spit(structure)