Class: EideticPDF::TextWriter
- Inherits:
-
BaseWriter
- Object
- BaseWriter
- EideticPDF::TextWriter
- Defined in:
- lib/epdfsw.rb
Overview
:nodoc:
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(stream) ⇒ TextWriter
constructor
A new instance of TextWriter.
- #move_by(tx, ty) ⇒ Object
- #move_by_and_set_leading(tx, ty) ⇒ Object
- #next_line ⇒ Object
- #next_line_show(s) ⇒ Object
- #open ⇒ Object
- #set_char_spacing(char_space) ⇒ Object
- #set_font_and_size(font_name, size) ⇒ Object
- #set_horiz_scaling(scale) ⇒ Object
- #set_leading(leading) ⇒ Object
- #set_matrix(a, b, c, d, x, y) ⇒ Object
- #set_rendering_mode(render) ⇒ Object
- #set_rise(rise) ⇒ Object
- #set_spacing_next_line_show(char_space, word_space, s) ⇒ Object
- #set_word_spacing(word_space) ⇒ Object
- #show(s) ⇒ Object
- #show_wide(ws) ⇒ Object
- #show_with_dispacements(elements) ⇒ Object
Methods inherited from BaseWriter
Constructor Details
#initialize(stream) ⇒ TextWriter
Returns a new instance of TextWriter.
191 192 193 |
# File 'lib/epdfsw.rb', line 191 def initialize(stream) @stream = stream end |
Instance Method Details
#close ⇒ Object
199 200 201 |
# File 'lib/epdfsw.rb', line 199 def close @stream << "ET\n" end |
#move_by(tx, ty) ⇒ Object
231 232 233 |
# File 'lib/epdfsw.rb', line 231 def move_by(tx, ty) @stream << "%s %s Td\n" % [g(tx), g(ty)] end |
#move_by_and_set_leading(tx, ty) ⇒ Object
235 236 237 |
# File 'lib/epdfsw.rb', line 235 def move_by_and_set_leading(tx, ty) @stream << "%s %s TD\n" % [g(tx), g(ty)] end |
#next_line ⇒ Object
243 244 245 |
# File 'lib/epdfsw.rb', line 243 def next_line @stream << "T*\n" end |
#next_line_show(s) ⇒ Object
256 257 258 |
# File 'lib/epdfsw.rb', line 256 def next_line_show(s) @stream << "(%s) '" % PdfObjects::PdfString.escape(s) end |
#open ⇒ Object
195 196 197 |
# File 'lib/epdfsw.rb', line 195 def open @stream << "BT\n" end |
#set_char_spacing(char_space) ⇒ Object
203 204 205 |
# File 'lib/epdfsw.rb', line 203 def set_char_spacing(char_space) @stream << "%s Tc\n" % g(char_space) end |
#set_font_and_size(font_name, size) ⇒ Object
219 220 221 |
# File 'lib/epdfsw.rb', line 219 def set_font_and_size(font_name, size) @stream << "/%s %s Tf\n" % [font_name, g(size)] end |
#set_horiz_scaling(scale) ⇒ Object
211 212 213 |
# File 'lib/epdfsw.rb', line 211 def set_horiz_scaling(scale) @stream << "%s Tz\n" % g(scale) end |
#set_leading(leading) ⇒ Object
215 216 217 |
# File 'lib/epdfsw.rb', line 215 def set_leading(leading) @stream << "%s TL\n" % g(leading) end |
#set_matrix(a, b, c, d, x, y) ⇒ Object
239 240 241 |
# File 'lib/epdfsw.rb', line 239 def set_matrix(a, b, c, d, x, y) @stream << "%s %s %s %s %s %s Tm\n" % [g(a), g(b), g(c), g(d), g(x), g(y)] end |
#set_rendering_mode(render) ⇒ Object
223 224 225 |
# File 'lib/epdfsw.rb', line 223 def set_rendering_mode(render) @stream << "%d Tr\n" % render end |
#set_rise(rise) ⇒ Object
227 228 229 |
# File 'lib/epdfsw.rb', line 227 def set_rise(rise) @stream << "%s Ts\n" % g(rise) end |
#set_spacing_next_line_show(char_space, word_space, s) ⇒ Object
260 261 262 |
# File 'lib/epdfsw.rb', line 260 def set_spacing_next_line_show(char_space, word_space, s) @stream << "%s %s (%s) \"\n" % [g(char_space), g(word_space), PdfObjects::PdfString.escape(s)] end |
#set_word_spacing(word_space) ⇒ Object
207 208 209 |
# File 'lib/epdfsw.rb', line 207 def set_word_spacing(word_space) @stream << "%s Tw\n" % g(word_space) end |
#show(s) ⇒ Object
247 248 249 250 |
# File 'lib/epdfsw.rb', line 247 def show(s) escaped = "(%s) Tj\n" % PdfObjects::PdfString.escape(s) @stream << escaped.force_encoding(Encoding::ASCII_8BIT) end |
#show_wide(ws) ⇒ Object
252 253 254 |
# File 'lib/epdfsw.rb', line 252 def show_wide(ws) @stream << "(%s) Tj\n" % PdfObjects::PdfString.escape_wide(ws) end |
#show_with_dispacements(elements) ⇒ Object
264 265 266 |
# File 'lib/epdfsw.rb', line 264 def show_with_dispacements(elements) @stream << "%sTJ\n" % elements end |