Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danrabinowitz/420a333588967a718562 to your computer and use it in GitHub Desktop.
Save danrabinowitz/420a333588967a718562 to your computer and use it in GitHub Desktop.
# gem "prawn", "0.8.4"
# Sometime there is no enough space for the last table row when it reaches the end of page
Prawn::Document.generate("text_group_overflow_question.pdf") do |pdf|
add_page_break_if_overflow(pdf) do |pdf|
# generating table here
# ...
end
end
def add_page_break_if_overflow(pdf, &block)
current_page = pdf.page_count
roll = pdf.transaction do
yield(pdf)
pdf.rollback if pdf.page_count > current_page
end
if roll == false
pdf.start_new_page
yield(pdf)
end
end
# gem "prawn", "0.11.1.pre"
Prawn::Document.generate("text_group_overflow_question.pdf") do
10.times do
text "I am part of a paragraph"
end
end
# gem "prawn", "0.11.1.pre"
Prawn::Document.generate("text_group_overflow_question.pdf") do
group do
10.times do
text "I am part of a paragraph"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment