def start_new_page(options = {})
if last_page = page
last_page_size = last_page.size
last_page_layout = last_page.layout
last_page_margins = last_page.margins
end
self.page = Prawn::Core::Page.new(self,
:size => options[:size] || last_page_size,
:layout => options[:layout] || last_page_layout,
:margins => last_page_margins )
apply_margin_option(options) if options[:margin]
[:left,:right,:top,:bottom].each do |side|
if margin = options["#{side}_margin""#{side}_margin"]
page.margins[side] = margin
end
end
generate_margin_box
update_colors
undash if dashed?
unless options[:orphan]
pages.insert(@page_number, page)
@store.pages.data[:Kids].insert(@page_number, page.dictionary)
@store.pages.data[:Count] += 1
@page_number += 1
save_graphics_state
canvas { image(@background, :at => bounds.top_left) } if @background
@y = @bounding_box.absolute_top
float do
@on_page_create_callback.call(self) if @on_page_create_callback
end
end
end