Module: ClockworkComicPDF::PDFTocMaker
- Included in:
- PDFMaker
- Defined in:
- lib/clockwork_comic_pdf/pdf_toc_maker.rb
Overview
stores the PDF printing methods for making the table of contents
Instance Method Summary collapse
Instance Method Details
#make_toc_item(pdf, toc_item) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/clockwork_comic_pdf/pdf_toc_maker.rb', line 15 def make_toc_item(pdf, toc_item) content = [["#{toc_item[:name]}", "#{toc_item[:page]}"]] = { width: pdf.bounds.width / 2, position: :center, cell_style: { borders: [], size: 8, padding: 1 } } table = Prawn::Table.new(content, pdf, ) do cells.style { |c| c.align = c.column.zero? ? :left : :right } end new_page(pdf) if table.height >= pdf.cursor table.draw end |
#print_toc(pdf) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/clockwork_comic_pdf/pdf_toc_maker.rb', line 4 def print_toc(pdf) pdf.go_to_page(content_start - 1) toc_start = pdf.page_number new_page(pdf) pdf.text 'Table of Contents', size: 18, align: :left pdf.move_down(25) page_index.each { |toc_item| make_toc_item(pdf, toc_item) } new_page(pdf) unless (toc_start - pdf.page_number).even? self.content_start += (toc_start - pdf.page_number) end |