class PDF::Inspector::Text
Attributes
character_spacing[RW]
font_settings[RW]
horizontal_text_scaling[RW]
kerned[RW]
positions[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 9 def initialize @font_settings = [] @fonts = {} @font_objects = {} @strings = [] @character_spacing = [] @word_spacing = [] @kerned = [] @text_rendering_mode = [] @positions = [] @horizontal_text_scaling = [] end
Public Instance Methods
move_text_position(tx, ty)
click to toggle source
# File lib/pdf/inspector/text.rb, line 35 def move_text_position(tx, ty) @positions << [tx, ty] end
page=(page)
click to toggle source
# File lib/pdf/inspector/text.rb, line 22 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(spacing)
click to toggle source
# File lib/pdf/inspector/text.rb, line 57 def set_character_spacing(spacing) @state.set_character_spacing(spacing) @character_spacing << spacing end
set_horizontal_text_scaling(scaling)
click to toggle source
# File lib/pdf/inspector/text.rb, line 67 def set_horizontal_text_scaling(scaling) @state.set_horizontal_text_scaling(scaling) @horizontal_text_scaling << scaling end
set_text_font_and_size(*params)
click to toggle source
# File lib/pdf/inspector/text.rb, line 30 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 52 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 62 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 39 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 44 def show_text_with_positioning(*params) @kerned << true # ignore kerning information show_text params[0].reject { |e| e.is_a? Numeric }.join end