manual/document_and_page_options/page_margins.rb
# frozen_string_literal: true
require 'prawn/manual_builder'
Prawn::ManualBuilder::Chapter.new do
title 'Page Margins'
text do
prose <<~TEXT
The default margin for pages is 0.5 inch but you can change that with the
<code>:margin</code> option or if you'd like to have different margins
you can use the <code>:left_margin</code>, <code>:right_margin</code>,
<code>:top_margin</code>, <code>:bottom_margin</code> options.
These options are available both for starting new pages and creating new
documents.
TEXT
end
example eval: false, standalone: true do
Prawn::Document.generate('example.pdf', margin: 100) do
text '100 pts margins.'
stroke_bounds
start_new_page(left_margin: 300)
text '300 pts margin on the left.'
stroke_bounds
start_new_page(top_margin: 300)
text '300 pts margin both on the top and on the left. Notice that whenever ' \
'you set an option for a new page it will remain the default for the ' \
'following pages.'
stroke_bounds
start_new_page(margin: 50)
text '50 pts margins. Using the margin option will reset previous specific ' \
'calls to left, right, top and bottom margins.'
stroke_bounds
start_new_page(margin: [50, 100, 150, 200])
text 'There is also the shorthand CSS like syntax used here.'
stroke_bounds
end
end
end