class PDF::Inspector::Text

Attributes

character_spacing[RW]
font_settings[RW]
kerned[RW]
size[RW]
strings[RW]
text_rendering_mode[RW]
word_spacing[RW]

Public Class Methods

new() click to toggle source
# File lib/pdf/inspector/text.rb, line 8
def initialize     
  @font_settings = []
  @fonts = {}
  @font_objects = {}
  @strings = []
  @character_spacing = []
  @word_spacing = []
  @kerned = []
  @text_rendering_mode = []
end

Public Instance Methods

page=(page) click to toggle source
# File lib/pdf/inspector/text.rb, line 19
def page=(page)
  @state = PDF::Reader::PageState.new(page)
  page.fonts.each do |label, stream|
    @fonts[label]        = stream[:BaseFont]
    @font_objects[label] = PDF::Reader::Font.new(page.objects, stream)
  end
end
set_character_spacing(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 50
def set_character_spacing(*params)
  @state.set_character_spacing(*params)
  @character_spacing << params[0]
end
set_text_font_and_size(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 27
def set_text_font_and_size(*params)     
  @state.set_text_font_and_size(*params)
  @font_settings << { :name => @fonts[params[0]], :size => params[1] }
end
set_text_rendering_mode(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 45
def set_text_rendering_mode(*params)
  @state.set_text_rendering_mode(*params)
  @text_rendering_mode << params[0]
end
set_word_spacing(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 55
def set_word_spacing(*params)
  @state.set_word_spacing(*params)
  @word_spacing << params[0]
end
show_text(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 32
def show_text(*params)
  @kerned << false
  @strings << @state.current_font.to_utf8(params[0])
end
show_text_with_positioning(*params) click to toggle source
# File lib/pdf/inspector/text.rb, line 37
def show_text_with_positioning(*params)      
  @kerned << true
  # ignore kerning information
  show_text params[0].reject { |e|
    Numeric === e
  }.join
end