module Escpos::Helpers
Public Instance Methods
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
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
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
cut()
click to toggle source
# File lib/escpos/helpers.rb, line 181 def cut Escpos.sequence(Escpos::PAPER_FULL_CUT) end
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_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
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
Also aliased as: set_encoding, set_printer_encoding
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
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
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
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