整理Android 連接Star印表機的控制碼
###整理控制碼(java版)
控制碼陣列 | 描述 |
---|---|
{ 0x1b, 0x40 } | Initialization |
{ 0x1b, 0x44, 0x10, 0x00 } | <ESC> <D> n1 n2 nk <NUL> |
{ 0x1b, 0x1d, 0x61, 0x31 } | <ESC> <GS> a n |
{ 0x1b, 0x69, 0x02, 0x00 } | <ESC> <i> n1 n2 |
{ 0x1b, 0x45 } | <ESC> <E> 加上加粗線 |
{ 0x1b, 0x46 } | <ESC> <F> 取消加粗線 |
{0x1b, 0x1c, 0x70, 0x01, 0x00} | Stored Logo Printing |
{ 0x1b, 0x1d, 0x61, 0x01} { 0x1b, 0x62, 0x34, 0x31, 0x32, 0x50 } “content_to_1D_barcode_\u001e\r\n”.getBytes() | 1D barcode example |
{ 0x1b, 0x1d, 0x79, 0x53, 0x30, 0x02} { 0x1b, 0x1d, 0x79, 0x53, 0x31, 0x03 } { 0x1b, 0x1d, 0x79, 0x53, 0x32, 0x03} { 0x1b, 0x1d, 0x79, 0x44, 0x31, 0x00, (byte) (barCodeData.length % 256), (byte) (barCodeData.length / 256) } barCodeData { 0x1b, 0x1d, 0x79, 0x50, 0x0a} { 0x1b, 0x1d, 0x61, 0x30 } | QRCode example |
\n | 換行 |
{ 0x1b, 0x64, 0x33 } | Cut |
{ 0x07 } | Kick cash drawer |
Unicode 參考表
對照上圖
或是如下面這個Unicode對照表,可以看到UTF-8欄。
ASCII | UTF-8 | Unicode | Character | Name |
---|---|---|---|---|
0x7F | 0x7F | 0x007F | | DELETE |
0x7E | 0x7E | 0x007E | ~ | TILDE |
0x7D | 0x7D | 0x007D | } | RIGHT CURLY BRACKET |
0x7C | 0x7C | 0x007C | | | VERTICAL LINE |
0x7B | 0x7B | 0x007B | { | LEFT CURLY BRACKET |
0x7A | 0x7A | 0x007A | z | LATIN SMALL LETTER Z |
0x79 | 0x79 | 0x0079 | y | LATIN SMALL LETTER Y |
0x78 | 0x78 | 0x0078 | x | LATIN SMALL LETTER X |
0x77 | 0x77 | 0x0077 | w | LATIN SMALL LETTER W |
0x76 | 0x76 | 0x0076 | v | LATIN SMALL LETTER V |
0x75 | 0x75 | 0x0075 | u | LATIN SMALL LETTER U |
0x74 | 0x74 | 0x0074 | t | LATIN SMALL LETTER T |
0x73 | 0x73 | 0x0073 | s | LATIN SMALL LETTER S |
0x72 | 0x72 | 0x0072 | r | LATIN SMALL LETTER R |
0x71 | 0x71 | 0x0071 | q | LATIN SMALL LETTER Q |
0x70 | 0x70 | 0x0070 | p | LATIN SMALL LETTER P |
0x6F | 0x6F | 0x006F | o | LATIN SMALL LETTER O |
0x6E | 0x6E | 0x006E | n | LATIN SMALL LETTER N |
0x6D | 0x6D | 0x006D | m | LATIN SMALL LETTER M |
0x6C | 0x6C | 0x006C | l | LATIN SMALL LETTER L |
0x6B | 0x6B | 0x006B | k | LATIN SMALL LETTER K |
0x6A | 0x6A | 0x006A | j | LATIN SMALL LETTER J |
0x69 | 0x69 | 0x0069 | i | LATIN SMALL LETTER I |
0x68 | 0x68 | 0x0068 | h | LATIN SMALL LETTER H |
0x67 | 0x67 | 0x0067 | g | LATIN SMALL LETTER G |
0x66 | 0x66 | 0x0066 | f | LATIN SMALL LETTER F |
0x65 | 0x65 | 0x0065 | e | LATIN SMALL LETTER E |
0x64 | 0x64 | 0x0064 | d | LATIN SMALL LETTER D |
0x63 | 0x63 | 0x0063 | c | LATIN SMALL LETTER C |
0x62 | 0x62 | 0x0062 | b | LATIN SMALL LETTER B |
0x61 | 0x61 | 0x0061 | a | LATIN SMALL LETTER A |
0x60 | 0x60 | 0x0060 | ` | GRAVE ACCENT |
0x5F | 0x5F | 0x005F | _ | LOW LINE |
0x5E | 0x5E | 0x005E | ^ | CIRCUMFLEX ACCENT |
0x5D | 0x5D | 0x005D | ] | RIGHT SQUARE BRACKET |
0x5C | 0x5C | 0x005C | \ | REVERSE SOLIDUS |
0x5B | 0x5B | 0x005B | [ | LEFT SQUARE BRACKET |
0x5A | 0x5A | 0x005A | Z | LATIN CAPITAL LETTER Z |
0x59 | 0x59 | 0x0059 | Y | LATIN CAPITAL LETTER Y |
0x58 | 0x58 | 0x0058 | X | LATIN CAPITAL LETTER X |
0x57 | 0x57 | 0x0057 | W | LATIN CAPITAL LETTER W |
0x56 | 0x56 | 0x0056 | V | LATIN CAPITAL LETTER V |
0x55 | 0x55 | 0x0055 | U | LATIN CAPITAL LETTER U |
0x54 | 0x54 | 0x0054 | T | LATIN CAPITAL LETTER T |
0x53 | 0x53 | 0x0053 | S | LATIN CAPITAL LETTER S |
0x52 | 0x52 | 0x0052 | R | LATIN CAPITAL LETTER R |
0x51 | 0x51 | 0x0051 | Q | LATIN CAPITAL LETTER Q |
0x50 | 0x50 | 0x0050 | P | LATIN CAPITAL LETTER P |
0x4F | 0x4F | 0x004F | O | LATIN CAPITAL LETTER O |
0x4E | 0x4E | 0x004E | N | LATIN CAPITAL LETTER N |
0x4D | 0x4D | 0x004D | M | LATIN CAPITAL LETTER M |
0x4C | 0x4C | 0x004C | L | LATIN CAPITAL LETTER L |
0x4B | 0x4B | 0x004B | K | LATIN CAPITAL LETTER K |
0x4A | 0x4A | 0x004A | J | LATIN CAPITAL LETTER J |
0x49 | 0x49 | 0x0049 | I | LATIN CAPITAL LETTER I |
0x48 | 0x48 | 0x0048 | H | LATIN CAPITAL LETTER H |
0x47 | 0x47 | 0x0047 | G | LATIN CAPITAL LETTER G |
0x46 | 0x46 | 0x0046 | F | LATIN CAPITAL LETTER F |
0x45 | 0x45 | 0x0045 | E | LATIN CAPITAL LETTER E |
0x44 | 0x44 | 0x0044 | D | LATIN CAPITAL LETTER D |
0x43 | 0x43 | 0x0043 | C | LATIN CAPITAL LETTER C |
0x42 | 0x42 | 0x0042 | B | LATIN CAPITAL LETTER B |
0x41 | 0x41 | 0x0041 | A | LATIN CAPITAL LETTER A |
0x40 | 0x40 | 0x0040 | @ | COMMERCIAL AT |
0x3F | 0x3F | 0x003F | ? | QUESTION MARK |
0x3E | 0x3E | 0x003E | > | GREATER-THAN SIGN |
0x3D | 0x3D | 0x003D | = | EQUALS SIGN |
0x3C | 0x3C | 0x003C | < | LESS-THAN SIGN |
0x3B | 0x3B | 0x003B | ; | SEMICOLON |
0x3A | 0x3A | 0x003A | : | COLON |
0x39 | 0x39 | 0x0039 | 9 | DIGIT NINE |
0x38 | 0x38 | 0x0038 | 8 | DIGIT EIGHT |
0x37 | 0x37 | 0x0037 | 7 | DIGIT SEVEN |
0x36 | 0x36 | 0x0036 | 6 | DIGIT SIX |
0x35 | 0x35 | 0x0035 | 5 | DIGIT FIVE |
0x34 | 0x34 | 0x0034 | 4 | DIGIT FOUR |
0x33 | 0x33 | 0x0033 | 3 | DIGIT THREE |
0x32 | 0x32 | 0x0032 | 2 | DIGIT TWO |
0x31 | 0x31 | 0x0031 | 1 | DIGIT ONE |
0x30 | 0x30 | 0x0030 | 0 | DIGIT ZERO |
0x2F | 0x2F | 0x002F | / | SOLIDUS |
0x2E | 0x2E | 0x002E | . | FULL STOP |
0x2D | 0x2D | 0x002D | - | HYPHEN-MINUS |
0x2C | 0x2C | 0x002C | , | COMMA |
0x2B | 0x2B | 0x002B | + | PLUS SIGN |
0x2A | 0x2A | 0x002A | * | ASTERISK |
0x29 | 0x29 | 0x0029 | ) | RIGHT PARENTHESIS |
0x28 | 0x28 | 0x0028 | ( | LEFT PARENTHESIS |
0x27 | 0x27 | 0x0027 | ' | APOSTROPHE |
0x26 | 0x26 | 0x0026 | & | AMPERSAND |
0x25 | 0x25 | 0x0025 | % | PERCENT SIGN |
0x24 | 0x24 | 0x0024 | $ | DOLLAR SIGN |
0x23 | 0x23 | 0x0023 | # | NUMBER SIGN |
0x22 | 0x22 | 0x0022 | " | QUOTATION MARK |
0x21 | 0x21 | 0x0021 | ! | EXCLAMATION MARK |
0x20 | 0x20 | 0x0020 | SPACE | |
0x1F | 0x1F | 0x001F | UNIT SEPARATOR | |
0x1E | 0x1E | 0x001E | RECORD SEPARATOR | |
0x1D | 0x1D | 0x001D | GROUP SEPARATOR | |
0x1C | 0x1C | 0x001C | FILE SEPARATOR | |
0x1B | 0x1B | 0x001B | ESCAPE | |
0x1A | 0x1A | 0x001A | SUBSTITUTE | |
0x19 | 0x19 | 0x0019 | END OF MEDIUM | |
0x18 | 0x18 | 0x0018 | CANCEL | |
0x17 | 0x17 | 0x0017 | END OF TRANSMISSION BLOCK | |
0x16 | 0x16 | 0x0016 | SYNCHRONOUS IDLE | |
0x15 | 0x15 | 0x0015 | NEGATIVE ACKNOWLEDGE | |
0x14 | 0x14 | 0x0014 | DEVICE CONTROL FOUR | |
0x13 | 0x13 | 0x0013 | DEVICE CONTROL THREE | |
0x12 | 0x12 | 0x0012 | DEVICE CONTROL TWO | |
0x11 | 0x11 | 0x0011 | DEVICE CONTROL ONE | |
0x10 | 0x10 | 0x0010 | DATA LINK ESCAPE | |
0x0F | 0x0F | 0x000F | SHIFT IN | |
0x0E | 0x0E | 0x000E | SHIFT OUT | |
0x0D | 0x0D | 0x000D | CARRIAGE RETURN | |
0x0C | 0x0C | 0x000C | FORM FEED | |
0x0B | 0x0B | 0x000B | VERTICAL TABULATION | |
0x0A | 0x0A | 0x000A | LINE FEED | |
0x09 | 0x09 | 0x0009 | HORIZONTAL TABULATION | |
0x08 | 0x08 | 0x0008 | BACKSPACE | |
0x07 | 0x07 | 0x0007 | BELL | |
0x06 | 0x06 | 0x0006 | ACKNOWLEDGE | |
0x05 | 0x05 | 0x0005 | ENQUIRY | |
0x04 | 0x04 | 0x0004 | END OF TRANSMISSION | |
0x03 | 0x03 | 0x0003 | END OF TEXT | |
0x02 | 0x02 | 0x0002 | START OF TEXT | |
0x01 | 0x01 | 0x0001 | START OF HEADING | |
0x00 | 0x00 | 0x0000 | NULL |
Star標準控制指令表(1.15版)
Star 其他控制指令表(1.15版)
###初始化控制碼 若要組『ESC @』則就是上面章節中的Initial,則在塞byte[]的時候,就直接給Unicode表格中的0x1b以及0x40
###設定水平位置(教你如何看懂command manual)
如說明說的,這是用來調整水平位置。需要傳入ESC D 位置表示 NUL的格式,傳入Hex(若是0x開頭就是Hex)。
而實際使用時程式是傳入 { 0x1b, 0x44, 0x10, 0x00 }
###設定水平對齊位置
如說明說的,這是調整水平對齊的排列方式。
實際使用時程式是傳入 { 0x1b, 0x1d, 0x61, 0x31 }
0x31是1,所以是水平置中。
###強調重點(加粗)
x
在要強調加粗的文字前後加上這個指令
實際上傳入是{ 0x1b, 0x45 }、{ 0x1b, 0x46 }
###設定放大縮小尺寸
實際上傳入{ 0x1b, 0x69, 0x02, 0x00 }、{ 0x1b, 0x69, 0x00, 0x00 }、{ 0x1b, 0x69, 0x01, 0x01 } 所以依據放大就是放大三倍高度、預設高度寬度、放大兩倍高度和寬度
###印製LOGO
實際上傳入的是{0x1b, 0x1c, 0x70, 0x01, 0x00} ,也就是傳入第一個logo(最小是1)
###印製QRCode
實際上傳入
{ 0x1b, 0x1d, 0x79, 0x53, 0x30, 0x02}
{ 0x1b, 0x1d, 0x79, 0x53, 0x31, 0x03 }
{ 0x1b, 0x1d, 0x79, 0x53, 0x32, 0x03}
{ 0x1b, 0x1d, 0x79, 0x44, 0x31, 0x00, (byte) (barCodeData.length % 256), (byte) (barCodeData.length / 256) }
barCodeData
{ 0x1b, 0x1d, 0x79, 0x50, 0x0a}
{ 0x1b, 0x1d, 0x61, 0x30 }
###印製QRCode(位置部分細談) 在上面一小節中有 傳入{ 0x1b, 0x1d, 0x79, 0x44, 0x31, 0x00, (byte) (barCodeData.length % 256), (byte) (barCodeData.length / 256) }
PAGE MODE 設定印製位置
大睿的林工程師提供的範例
換算位置如下圖,工具如下網址
###Star POS Printer v.s. Mobile Print 兩者確實指令集不同。 StarLine模式下就已經兩種不同了…@@ Star POS Printer Command Star Mobile Print Command
###比對Star SM-S220和TSP650II的StarLine指令集差別