module Escpos::Helpers

Public Instance Methods

alt_color()
Alias for: red
alternative_color()
Alias for: red
b(data)
Alias for: bold
barcode(data, opts = {}) click to toggle source
# File lib/escpos/helpers.rb, line 147
def barcode(data, opts = {})
  text_position = opts.fetch(:text_position, Escpos::BARCODE_TXT_OFF)
  possible_text_positions = [
    Escpos::BARCODE_TXT_OFF,
    Escpos::BARCODE_TXT_ABV,
    Escpos::BARCODE_TXT_BLW,
    Escpos::BARCODE_TXT_BTH
  ]
  unless possible_text_positions.include?(text_position)
    raise ArgumentError("Wrong text position.")
  end
  height = opts.fetch(:height, 50)
  if height && (height < 1 || height > 255)
    raise ArgumentError("Height must be in range from 1 to 255.")
  end
  width = opts.fetch(:width, 3)
  if width && (width < 2 || width > 6)
    raise ArgumentError("Width must be in range from 2 to 6.")
  end
  [
    Escpos.sequence(text_position),
    Escpos.sequence(Escpos::BARCODE_WIDTH),
    Escpos.sequence([width]),
    Escpos.sequence(Escpos::BARCODE_HEIGHT),
    Escpos.sequence([height]),
    Escpos.sequence(opts.fetch(:format, Escpos::BARCODE_EAN13)),
    data
  ].join
end
big(data)
Alias for: quad_text
black() click to toggle source
# File lib/escpos/helpers.rb, line 124
def black
  [
    Escpos.sequence(Escpos::TXT_COLOR_BLACK),
    data,
    Escpos.sequence(Escpos::TXT_COLOR_BLACK),
  ].join
end
black_color()
Alias for: black
bold(data) click to toggle source
# File lib/escpos/helpers.rb, line 82
def bold(data)
  [
    Escpos.sequence(Escpos::TXT_BOLD_ON),
    data,
    Escpos.sequence(Escpos::TXT_BOLD_OFF),
  ].join
end
Also aliased as: b
center(data = '') click to toggle source
# File lib/escpos/helpers.rb, line 107
def center(data = '')
  [
    Escpos.sequence(Escpos::TXT_ALIGN_CT),
    data,
    Escpos.sequence(Escpos::TXT_ALIGN_LT),
  ].join
end
color_black()
Alias for: black
color_red()
Alias for: red
cut() click to toggle source
# File lib/escpos/helpers.rb, line 181
def cut
  Escpos.sequence(Escpos::PAPER_FULL_CUT)
end
default_color()
Alias for: black
double_height(data) click to toggle source
# File lib/escpos/helpers.rb, line 35
def double_height(data)
  [
    Escpos.sequence(Escpos::TXT_2HEIGHT),
    data,
    Escpos.sequence(Escpos::TXT_NORMAL),
  ].join
end
double_height_double_width(data)
Alias for: quad_text
double_width(data) click to toggle source
# File lib/escpos/helpers.rb, line 56
def double_width(data)
  [
    Escpos.sequence(Escpos::TXT_2WIDTH),
    data,
    Escpos.sequence(Escpos::TXT_NORMAL),
  ].join
end
double_width_double_height(data)
Alias for: quad_text
encode(data, opts = {}) click to toggle source

Encodes UTF-8 string to encoding acceptable for the printer The printer must be set to that encoding Available encodings can be listed in console using Encoding.constants

# File lib/escpos/helpers.rb, line 8
def encode(data, opts = {})
  data.encode(opts.fetch(:encoding), 'UTF-8', {
    invalid: opts.fetch(:invalid, :replace),
    undef: opts.fetch(:undef, :replace),
    replace: opts.fetch(:replace, '?')        
  })
end
encoding(data) click to toggle source

Set printer encoding example: encoding(Escpos::CP_ISO8859_2)

# File lib/escpos/helpers.rb, line 18
def encoding(data)
  [
    Escpos.sequence(Escpos::CP_SET),
    Escpos.sequence(data)
  ].join
end
header(data)
Alias for: quad_text
invert(data)
Alias for: inverted
inverted(data) click to toggle source
# File lib/escpos/helpers.rb, line 115
def inverted(data)
  [
    Escpos.sequence(Escpos::TXT_INVERT_ON),
    data,
    Escpos.sequence(Escpos::TXT_INVERT_OFF),
  ].join
end
Also aliased as: invert
left(data = '') click to toggle source
# File lib/escpos/helpers.rb, line 91
def left(data = '')
  [
    Escpos.sequence(Escpos::TXT_ALIGN_LT),
    data,
    Escpos.sequence(Escpos::TXT_ALIGN_LT),
  ].join
end
partial_cut() click to toggle source
# File lib/escpos/helpers.rb, line 177
def partial_cut
  Escpos.sequence(Escpos::PAPER_PARTIAL_CUT)
end
quad_text(data) click to toggle source
# File lib/escpos/helpers.rb, line 43
def quad_text(data)
  [
    Escpos.sequence(Escpos::TXT_4SQUARE),
    data,
    Escpos.sequence(Escpos::TXT_NORMAL),
  ].join
end
red() click to toggle source
# File lib/escpos/helpers.rb, line 135
def red
  [
    Escpos.sequence(Escpos::TXT_COLOR_BLACK),
    data,
    Escpos.sequence(Escpos::TXT_COLOR_RED),
  ].join
end
red_color()
Alias for: red
right(data = '') click to toggle source
# File lib/escpos/helpers.rb, line 99
def right(data = '')
  [
    Escpos.sequence(Escpos::TXT_ALIGN_RT),
    data,
    Escpos.sequence(Escpos::TXT_ALIGN_LT),
  ].join
end
set_encoding(data)
Alias for: encoding
set_printer_encoding(data)
Alias for: encoding
text(data) click to toggle source
# File lib/escpos/helpers.rb, line 27
def text(data)
  [
    Escpos.sequence(Escpos::TXT_NORMAL),
    data,
    Escpos.sequence(Escpos::TXT_NORMAL),
  ].join
end
title(data)
Alias for: quad_text
u(data)
Alias for: underline
u2(data)
Alias for: underline2
underline(data) click to toggle source
# File lib/escpos/helpers.rb, line 64
def underline(data)
  [
    Escpos.sequence(Escpos::TXT_UNDERL_ON),
    data,
    Escpos.sequence(Escpos::TXT_UNDERL_OFF),
  ].join
end
Also aliased as: u
underline2(data) click to toggle source
# File lib/escpos/helpers.rb, line 73
def underline2(data)
  [
    Escpos.sequence(Escpos::TXT_UNDERL2_ON),
    data,
    Escpos.sequence(Escpos::TXT_UNDERL_OFF),
  ].join
end
Also aliased as: u2