Method: PDF::Reader::PageLayout#initialize
- Defined in:
- lib/pdf/reader/page_layout.rb
#initialize(runs, mediabox) ⇒ PageLayout
Returns a new instance of PageLayout.
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/pdf/reader/page_layout.rb', line 17 def initialize(runs, mediabox) raise ArgumentError, "a mediabox must be provided" if mediabox.nil? @runs = merge_runs(OverlappingRunsFilter.exclude_redundant_runs(runs)) @mean_font_size = mean(@runs.map(&:font_size)) || DEFAULT_FONT_SIZE @mean_font_size = DEFAULT_FONT_SIZE if @mean_font_size == 0 @mean_glyph_width = mean(@runs.map(&:mean_character_width)) || 0 @page_width = (mediabox[2] - mediabox[0]).abs @page_height = (mediabox[3] - mediabox[1]).abs @x_offset = @runs.map(&:x).sort.first || 0 lowest_y = @runs.map(&:y).sort.first || 0 @y_offset = lowest_y > 0 ? 0 : lowest_y end |