class PDF::Reader::PageTextReceiver

Public Instance Methods

content() click to toggle source
# File lib/pdf/reader/page_text_receiver.rb, line 35
def content
  keys = @content.keys.sort.reverse
  keys.map { |key|
    @content[key]
  }.join("\n")
end
invoke_xobject(label) click to toggle source

XObjects

# File lib/pdf/reader/page_text_receiver.rb, line 79
def invoke_xobject(label)
  @state.invoke_xobject(label) do |xobj|
    case xobj
    when PDF::Reader::FormXObject then
      xobj.walk(self)
    end
  end
end
move_to_next_line_and_show_text(str) click to toggle source
# File lib/pdf/reader/page_text_receiver.rb, line 65
def move_to_next_line_and_show_text(str) # '
  @state.move_to_start_of_next_line
  show_text(str)
end
page=(page) click to toggle source

starting a new page

# File lib/pdf/reader/page_text_receiver.rb, line 30
def page=(page)
  @state = PageState.new(page)
  @content = {}
end
set_spacing_next_line_show_text(aw, ac, string) click to toggle source
# File lib/pdf/reader/page_text_receiver.rb, line 70
def set_spacing_next_line_show_text(aw, ac, string) # "
  @state.set_word_spacing(aw)
  @state.set_character_spacing(ac)
  move_to_next_line_and_show_text(string)
end
show_text(string) click to toggle source

record text that is drawn on the page

# File lib/pdf/reader/page_text_receiver.rb, line 47
def show_text(string) # Tj
  raise PDF::Reader::MalformedPDFError, "current font is invalid" if @state.current_font.nil?
  newx, newy = @state.trm_transform(0,0)
  @content[newy] ||= ""
  @content[newy] << @state.current_font.to_utf8(string)
end
show_text_with_positioning(params) click to toggle source
# File lib/pdf/reader/page_text_receiver.rb, line 54
def show_text_with_positioning(params) # TJ
  params.each { |arg|
    case arg
    when String
      show_text(arg)
    when Fixnum, Float
      show_text(" ") if arg > 1000
    end
  }
end