Skip to content

Instantly share code, notes, and snippets.

@eduardo
Forked from amoeba/table-test2.rb
Created June 1, 2009 07:39
Show Gist options
  • Save eduardo/121292 to your computer and use it in GitHub Desktop.
Save eduardo/121292 to your computer and use it in GitHub Desktop.
require 'prawn'
require 'prawn/layout'
Prawn::Document.generate("table-test2.pdf") do
headers = ["Course", "Grade", "Comments"]
data = []
10.times { |i| data << ["Home Room", "A+", "Great work!"]}
def make_table(headers, data)
table(
data,
:headers => headers,
:font_size => 8,
:border_style => :grid,
:border_width => 0.5,
:width => bounds.width)
end
text "Report for all students", :size => 22
# Left column w/ some padding
bounding_box([bounds.left, bounds.top - 32], :width => bounds.width / 2 - 16) do
3.times do |i|
text "Student Name Here"
move_down 4 # So the student's name isn't so close to the table
make_table(headers, data[0..rand(10)])
move_down 16 # So the next student's name isn't so close to this table
end
end
# Right column w/ some padding
bounding_box([bounds.left + bounds.width / 2 + 16, bounds.top - 32], :width => bounds.width / 2 - 16) do
3.times do |i|
text "Student Name Here"
move_down 4 # So the student's name isn't so close to the table
make_table(headers, data[0..rand(10)])
move_down 16 # So the next student's name isn't so close to this table
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment