Class: EideticPDF::TextWriter

Inherits:
BaseWriter show all
Defined in:
lib/epdfsw.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from BaseWriter

#f, #g

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

#closeObject



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_lineObject



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

#openObject



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