Class: UDRS::Renderers::ESCPRenderer

Inherits:
Base
  • Object
show all
Defined in:
lib/udrs/renderers/escp_renderer.rb,
lib/udrs/renderers/escp_renderer/font.rb,
lib/udrs/renderers/escp_renderer/line.rb,
lib/udrs/renderers/escp_renderer/table.rb

Overview

Tables

Constant Summary collapse

NUL =
0.chr
EOT =
4.chr
ENQ =
5.chr
HT =
9.chr
LF =
10.chr
FF =
12.chr
CR =
13.chr
DLE =
16.chr
DC4 =
20.chr
CAN =
24.chr
ESC =
27.chr
FS =
28.chr
GS =
29.chr
CHARACTER_MAP =
{
	'Ç' => "\x80",
	'ü' => "\x81",
	'é' => "\x82",
	'â' => "\x83",
	'ä' => "\x84",
	'à' => "\x85",
	'å' => "\x86",
	'ç' => "\x87",
	'ê' => "\x88",
	'ë' => "\x89",
	'è' => "\x8A",
	'ï' => "\x8B",
	'î' => "\x8C",
	'ì' => "\x8D",
	'Ä' => "\x8E",
	'Å' => "\x8F",
	'É' => "\x90",
	'æ' => "\x91",
	'Æ' => "\x92",
	'ô' => "\x93",
	'ö' => "\x94",
	'ò' => "\x95",
	'û' => "\x96",
	'ù' => "\x97",
	'ÿ' => "\x98",
	'Ö' => "\x99",
	'Ü' => "\x9A",
	'ø' => "\x9B",
	'£' => "\x9C",
	'Ø' => "\x9D",
	'á' => "\xA0",
	'í' => "\xA1",
	'ó' => "\xA2",
	'ú' => "\xA3",
	'ñ' => "\xA4",
	'Ñ' => "\xA5",
	'ª' => "\xA6",
	'º' => "\xA7",
	'¿' => "\xA8",
	'®' => "\xA9",
	'«' => "\xAE",
	'»' => "\xAF",
	'' => "\xAF",
	'Á' => "\xB5",
	'Â' => "\xB6",
	'À' => "\xB7",
	'©' => "\xB8",
	'¢' => "\xBD",
	'ã' => "\xC6",
	'Ã' => "\xC7",
	'Ê' => "\xD2",
	'Ë' => "\xD3",
	'È' => "\xD4",
	'' => "\xD5",
	'Í' => "\xD6",
	'Î' => "\xD7",
	'Ï' => "\xD8",
	'Ì' => "\xDE",
	'Ó' => "\xE0",
	'ß' => "\xE1",
	'Ô' => "\xE2",
	'Ò' => "\xE3",
	'õ' => "\xE4",
	'Õ' => "\xE5",
	'Ú' => "\xE9",
	'Û' => "\xEA",
	'Ù' => "\xEB",
	'ý' => "\xEC",
	'Ý' => "\xED",
}
CODE_NUM =

The code num for PDF417

48
CODE_SIZE =
3

Instance Method Summary collapse

Methods inherited from Base

#render_item

Instance Method Details

#render(container) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/udrs/renderers/escp_renderer.rb', line 99

def render(container)
	@buffer = ''
	@buffer << "#{ESC}@" # Re-init printer
	@buffer << "#{ESC}t#{19.chr}" # Reset character code table to PC858: Euro
	@buffer << "#{ESC}M#{1.chr}" # Set the font
	@buffer << "#{ESC}G#{0.chr}" # Set double-strike to off
	apply_font_size(:normal)
	apply_bold(false)
	apply_underline(:off)

	# Open the cash drawer
	@buffer << "#{ESC}p#{0.chr}#{100.chr}#{100.chr}"

	# Render the items
	@last_added = :page_end
	render_item(container)
	render_page_end(nil)

	# Replace special characters
	buffer = @buffer.dup
	CHARACTER_MAP.each do |char_orig, char_new|
		buffer.gsub!(char_orig, char_new)
	end

	return buffer
end