Module: Thinreports::BasicReport::Generator::PDF::Page

Included in:
Document
Defined in:
lib/thinreports/basic_report/generator/pdf/document/page.rb

Constant Summary collapse

JIS_SIZES =
{
  'B4' => [728.5, 1031.8],
  'B5' => [515.9, 728.5]
}.freeze

Instance Method Summary collapse

Instance Method Details

#add_blank_pageObject



42
43
44
# File 'lib/thinreports/basic_report/generator/pdf/document/page.rb', line 42

def add_blank_page
  pdf.start_new_page(pdf.page_count.zero? ? { size: 'A4' } : {})
end

#max_content_heightObject



38
39
40
# File 'lib/thinreports/basic_report/generator/pdf/document/page.rb', line 38

def max_content_height
  pdf.margin_box.height
end

#start_new_page(format) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/thinreports/basic_report/generator/pdf/document/page.rb', line 14

def start_new_page(format)
  format_id =
    if change_page_format?(format)
      pdf.start_new_page(new_basic_page_options(format))
      @current_page_format = format

      create_format_stamp(format) unless format_stamp_registry.include?(format.identifier)
      format.identifier
    else
      pdf.start_new_page(new_basic_page_options(current_page_format))
      current_page_format.identifier
    end

  stamp(format_id.to_s)
end

#start_new_page_for_section_report(format) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/thinreports/basic_report/generator/pdf/document/page.rb', line 30

def start_new_page_for_section_report(format)
  @current_page_format = format
  pdf.start_new_page(new_basic_page_options(current_page_format).merge(
    top_margin: current_page_format.page_margin[0],
    bottom_margin: current_page_format.page_margin[2]
  ))
end