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