# The number_pages
method is a simple way to number the pages of
# your document. It should be called towards the end of the document since
# pages created after the call won't be numbered.
#
# It accepts a string and a hash of options:
#
# start_count_at
is the value from which to start numbering pages
#
# total_pages
If provided, will replace total
with
# the value given. Useful for overriding the total number of pages when using
# the start_count_at option.
#
# page_filter
, which is one of: :all
,
# :odd
, :even
, an array, a range, or a Proc that
# receives the page number as an argument and should return true if the page
# number should be printed on that page.
#
# color
which accepts the same values as fill_color
#
# As well as any option accepted by text_box
require_relative '../example_helper'
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
text 'This is the first page!'
10.times do
start_new_page
text 'Here comes yet another page.'
end
string = 'page of '
# Green page numbers 1 to 7
options = {
at: [bounds.right - 150, 0],
width: 150,
align: :right,
page_filter: (1..7),
start_count_at: 1,
color: '007700'
}
number_pages string, options
# Gray page numbers from 8 on up
options[:page_filter] = ->(pg) { pg > 7 }
options[:start_count_at] = 8
options[:color] = '333333'
number_pages string, options
start_new_page
text "See. This page isn't numbered and doesn't count towards the total."
end