@hoangducnhuan/thermal-printer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE.md +21 -0
  2. package/assets/olaii-logo-black-small.png +0 -0
  3. package/assets/olaii-logo-black-smaller.png +0 -0
  4. package/assets/olaii-logo-black.png +0 -0
  5. package/dist/core.d.ts +178 -0
  6. package/dist/core.d.ts.map +1 -0
  7. package/dist/core.js +585 -0
  8. package/dist/core.js.map +1 -0
  9. package/dist/interfaces/capacitor.d.ts +32 -0
  10. package/dist/interfaces/capacitor.d.ts.map +1 -0
  11. package/dist/interfaces/capacitor.js +44 -0
  12. package/dist/interfaces/capacitor.js.map +1 -0
  13. package/dist/interfaces/index.d.ts +4 -0
  14. package/dist/interfaces/index.d.ts.map +1 -0
  15. package/dist/interfaces/index.js +20 -0
  16. package/dist/interfaces/index.js.map +1 -0
  17. package/dist/interfaces/interface.d.ts +12 -0
  18. package/dist/interfaces/interface.d.ts.map +1 -0
  19. package/dist/interfaces/interface.js +13 -0
  20. package/dist/interfaces/interface.js.map +1 -0
  21. package/dist/interfaces/network.d.ts +16 -0
  22. package/dist/interfaces/network.d.ts.map +1 -0
  23. package/dist/interfaces/network.js +76 -0
  24. package/dist/interfaces/network.js.map +1 -0
  25. package/dist/interfaces/printer.d.ts +10 -0
  26. package/dist/interfaces/printer.d.ts.map +1 -0
  27. package/dist/interfaces/printer.js +52 -0
  28. package/dist/interfaces/printer.js.map +1 -0
  29. package/dist/interfaces/serialport.d.ts +22 -0
  30. package/dist/interfaces/serialport.d.ts.map +1 -0
  31. package/dist/interfaces/serialport.js +99 -0
  32. package/dist/interfaces/serialport.js.map +1 -0
  33. package/dist/types/brother-config.d.ts +4 -0
  34. package/dist/types/brother-config.d.ts.map +1 -0
  35. package/dist/types/brother-config.js +146 -0
  36. package/dist/types/brother-config.js.map +1 -0
  37. package/dist/types/brother.d.ts +12 -0
  38. package/dist/types/brother.d.ts.map +1 -0
  39. package/dist/types/brother.js +184 -0
  40. package/dist/types/brother.js.map +1 -0
  41. package/dist/types/custom-config.d.ts +4 -0
  42. package/dist/types/custom-config.d.ts.map +1 -0
  43. package/dist/types/custom-config.js +202 -0
  44. package/dist/types/custom-config.js.map +1 -0
  45. package/dist/types/custom.d.ts +16 -0
  46. package/dist/types/custom.d.ts.map +1 -0
  47. package/dist/types/custom.js +300 -0
  48. package/dist/types/custom.js.map +1 -0
  49. package/dist/types/daruma-config.d.ts +4 -0
  50. package/dist/types/daruma-config.d.ts.map +1 -0
  51. package/dist/types/daruma-config.js +128 -0
  52. package/dist/types/daruma-config.js.map +1 -0
  53. package/dist/types/daruma.d.ts +7 -0
  54. package/dist/types/daruma.d.ts.map +1 -0
  55. package/dist/types/daruma.js +22 -0
  56. package/dist/types/daruma.js.map +1 -0
  57. package/dist/types/epson-config.d.ts +4 -0
  58. package/dist/types/epson-config.d.ts.map +1 -0
  59. package/dist/types/epson-config.js +204 -0
  60. package/dist/types/epson-config.js.map +1 -0
  61. package/dist/types/epson.d.ts +17 -0
  62. package/dist/types/epson.d.ts.map +1 -0
  63. package/dist/types/epson.js +333 -0
  64. package/dist/types/epson.js.map +1 -0
  65. package/dist/types/printer-type.d.ts +57 -0
  66. package/dist/types/printer-type.d.ts.map +1 -0
  67. package/dist/types/printer-type.js +48 -0
  68. package/dist/types/printer-type.js.map +1 -0
  69. package/dist/types/star-config.d.ts +4 -0
  70. package/dist/types/star-config.d.ts.map +1 -0
  71. package/dist/types/star-config.js +189 -0
  72. package/dist/types/star-config.js.map +1 -0
  73. package/dist/types/star.d.ts +13 -0
  74. package/dist/types/star.d.ts.map +1 -0
  75. package/dist/types/star.js +417 -0
  76. package/dist/types/star.js.map +1 -0
  77. package/dist/types/tanca-config.d.ts +4 -0
  78. package/dist/types/tanca-config.d.ts.map +1 -0
  79. package/dist/types/tanca-config.js +194 -0
  80. package/dist/types/tanca-config.js.map +1 -0
  81. package/dist/types/tanca.d.ts +14 -0
  82. package/dist/types/tanca.d.ts.map +1 -0
  83. package/dist/types/tanca.js +317 -0
  84. package/dist/types/tanca.js.map +1 -0
  85. package/package.json +39 -0
@@ -0,0 +1,204 @@
1
+ const config = {
2
+ // Feed control sequences
3
+ CTL_LF: Buffer.from([0x0a]), // Print and line feed
4
+ CTL_FF: Buffer.from([0x0c]), // Form feed
5
+ CTL_CR: Buffer.from([0x0d]), // Carriage return
6
+ CTL_HT: Buffer.from([0x09]), // Horizontal tab
7
+ CTL_SET_HT: Buffer.from([0x1b, 0x44]), // Set horizontal tab positions
8
+ CTL_VT: Buffer.from([0x1b, 0x64, 0x04]), // Vertical tab
9
+ // Line spacing
10
+ LINE_SPACING_DEFAULT: Buffer.from([0x1b, 0x32]), // ESC 2 - Reset to default line spacing
11
+ // Printer hardware
12
+ HW_INIT: Buffer.from([0x1b, 0x40]), // Clear data in buffer and reset modes
13
+ HW_SELECT: Buffer.from([0x1b, 0x3d, 0x01]), // Printer select
14
+ HW_RESET: Buffer.from([0x1b, 0x3f, 0x0a, 0x00]), // Reset printer hardware
15
+ TRANSMIT_PAPER_STATUS: Buffer.from([0x1d, 0x72, 0x01]), // Transmit printer paper status
16
+ BEEP: Buffer.from([0x1b, 0x42]), // Sounds built-in buzzer (if equipped)
17
+ UPSIDE_DOWN_ON: Buffer.from([0x1b, 0x7b, 0x01]), // Upside down printing ON (rotated 180 degrees).
18
+ UPSIDE_DOWN_OFF: Buffer.from([0x1b, 0x7b, 0x00]), // Upside down printing OFF (default).
19
+ // Cash Drawer
20
+ CD_KICK_2: Buffer.from([0x1b, 0x70, 0x00]), // Sends a pulse to pin 2 []
21
+ CD_KICK_5: Buffer.from([0x1b, 0x70, 0x01]), // Sends a pulse to pin 5 []
22
+ // Paper
23
+ PAPER_FULL_CUT: Buffer.from([0x1d, 0x56, 0x00]), // Full cut paper
24
+ PAPER_PART_CUT: Buffer.from([0x1d, 0x56, 0x01]), // Partial cut paper
25
+ // Text format
26
+ TXT_NORMAL: Buffer.from([0x1b, 0x21, 0x00]), // Normal text
27
+ TXT_2HEIGHT: Buffer.from([0x1b, 0x21, 0x10]), // Double height text
28
+ TXT_2WIDTH: Buffer.from([0x1b, 0x21, 0x20]), // Double width text
29
+ TXT_4SQUARE: Buffer.from([0x1b, 0x21, 0x30]), // Quad area text
30
+ TXT_UNDERL_OFF: Buffer.from([0x1b, 0x2d, 0x00]), // Underline font OFF
31
+ TXT_UNDERL_ON: Buffer.from([0x1b, 0x2d, 0x01]), // Underline font 1-dot ON
32
+ TXT_UNDERL2_ON: Buffer.from([0x1b, 0x2d, 0x02]), // Underline font 2-dot ON
33
+ TXT_BOLD_OFF: Buffer.from([0x1b, 0x45, 0x00]), // Bold font OFF
34
+ TXT_BOLD_ON: Buffer.from([0x1b, 0x45, 0x01]), // Bold font ON
35
+ TXT_INVERT_OFF: Buffer.from([0x1d, 0x42, 0x00]), // Invert font OFF (eg. white background)
36
+ TXT_INVERT_ON: Buffer.from([0x1d, 0x42, 0x01]), // Invert font ON (eg. black background)
37
+ TXT_FONT_A: Buffer.from([0x1b, 0x4d, 0x00]), // Font type A
38
+ TXT_FONT_B: Buffer.from([0x1b, 0x4d, 0x01]), // Font type B
39
+ TXT_ALIGN_LT: Buffer.from([0x1b, 0x61, 0x00]), // Left justification
40
+ TXT_ALIGN_CT: Buffer.from([0x1b, 0x61, 0x01]), // Centering
41
+ TXT_ALIGN_RT: Buffer.from([0x1b, 0x61, 0x02]), // Right justification
42
+ // All code pages supported by printer.
43
+ CODE_PAGE_PC437_USA: Buffer.from([0x1b, 0x74, 0]),
44
+ CODE_PAGE_KATAKANA: Buffer.from([0x1b, 0x74, 1]),
45
+ CODE_PAGE_PC850_MULTILINGUAL: Buffer.from([0x1b, 0x74, 2]),
46
+ CODE_PAGE_PC860_PORTUGUESE: Buffer.from([0x1b, 0x74, 3]),
47
+ CODE_PAGE_PC863_CANADIAN_FRENCH: Buffer.from([0x1b, 0x74, 4]),
48
+ CODE_PAGE_PC865_NORDIC: Buffer.from([0x1b, 0x74, 5]),
49
+ CODE_PAGE_PC851_GREEK: Buffer.from([0x1b, 0x74, 11]),
50
+ CODE_PAGE_PC853_TURKISH: Buffer.from([0x1b, 0x74, 12]),
51
+ CODE_PAGE_PC857_TURKISH: Buffer.from([0x1b, 0x74, 13]),
52
+ CODE_PAGE_PC737_GREEK: Buffer.from([0x1b, 0x74, 14]),
53
+ CODE_PAGE_ISO8859_7_GREEK: Buffer.from([0x1b, 0x74, 15]),
54
+ CODE_PAGE_WPC1252: Buffer.from([0x1b, 0x74, 16]),
55
+ CODE_PAGE_PC866_CYRILLIC2: Buffer.from([0x1b, 0x74, 17]),
56
+ CODE_PAGE_PC852_LATIN2: Buffer.from([0x1b, 0x74, 18]),
57
+ CODE_PAGE_SLOVENIA: Buffer.from([0x1b, 0x74, 18]),
58
+ CODE_PAGE_PC858_EURO: Buffer.from([0x1b, 0x74, 19]),
59
+ CODE_PAGE_KU42_THAI: Buffer.from([0x1b, 0x74, 20]),
60
+ CODE_PAGE_TIS11_THAI: Buffer.from([0x1b, 0x74, 21]),
61
+ CODE_PAGE_TIS18_THAI: Buffer.from([0x1b, 0x74, 26]),
62
+ CODE_PAGE_TCVN3_VIETNAMESE_L: Buffer.from([0x1b, 0x74, 30]),
63
+ CODE_PAGE_TCVN3_VIETNAMESE_U: Buffer.from([0x1b, 0x74, 31]),
64
+ CODE_PAGE_PC720_ARABIC: Buffer.from([0x1b, 0x74, 32]),
65
+ CODE_PAGE_WPC775_BALTIC_RIM: Buffer.from([0x1b, 0x74, 33]),
66
+ CODE_PAGE_PC855_CYRILLIC: Buffer.from([0x1b, 0x74, 34]),
67
+ CODE_PAGE_PC861_ICELANDIC: Buffer.from([0x1b, 0x74, 35]),
68
+ CODE_PAGE_PC862_HEBREW: Buffer.from([0x1b, 0x74, 36]),
69
+ CODE_PAGE_PC864_ARABIC: Buffer.from([0x1b, 0x74, 37]),
70
+ CODE_PAGE_PC869_GREEK: Buffer.from([0x1b, 0x74, 38]),
71
+ CODE_PAGE_ISO8859_2_LATIN2: Buffer.from([0x1b, 0x74, 39]),
72
+ CODE_PAGE_ISO8859_15_LATIN9: Buffer.from([0x1b, 0x74, 40]),
73
+ CODE_PAGE_PC1098_FARCI: Buffer.from([0x1b, 0x74, 41]),
74
+ CODE_PAGE_PC1118_LITHUANIAN: Buffer.from([0x1b, 0x74, 42]),
75
+ CODE_PAGE_PC1119_LITHUANIAN: Buffer.from([0x1b, 0x74, 43]),
76
+ CODE_PAGE_PC1125_UKRANIAN: Buffer.from([0x1b, 0x74, 44]),
77
+ CODE_PAGE_WPC1250_LATIN2: Buffer.from([0x1b, 0x74, 45]),
78
+ CODE_PAGE_WPC1251_CYRILLIC: Buffer.from([0x1b, 0x74, 46]),
79
+ CODE_PAGE_WPC1253_GREEK: Buffer.from([0x1b, 0x74, 47]),
80
+ CODE_PAGE_WPC1254_TURKISH: Buffer.from([0x1b, 0x74, 48]),
81
+ CODE_PAGE_WPC1255_HEBREW: Buffer.from([0x1b, 0x74, 49]),
82
+ CODE_PAGE_WPC1256_ARABIC: Buffer.from([0x1b, 0x74, 50]),
83
+ CODE_PAGE_WPC1257_BALTIC_RIM: Buffer.from([0x1b, 0x74, 51]),
84
+ CODE_PAGE_WPC1258_VIETNAMESE: Buffer.from([0x1b, 0x74, 52]),
85
+ CODE_PAGE_KZ1048_KAZAKHSTAN: Buffer.from([0x1b, 0x74, 53]),
86
+ CODE_PAGE_JAPAN: Buffer.from([0x1b, 0x52, 0x08]),
87
+ CODE_PAGE_KOREA: Buffer.from([0x1b, 0x52, 0x0d]),
88
+ CODE_PAGE_CHINA: Buffer.from([0x1b, 0x52, 0x0f]),
89
+ CODE_PAGE_HK_TW: Buffer.from([0x1b, 0x52, 0x00]),
90
+ CODE_PAGE_TCVN_VIETNAMESE: Buffer.from([0x1b, 0x74, 52]),
91
+ CODE_PAGE_VISCII: Buffer.from([0x1b, 0x74, 52]),
92
+ // Character code pages / iconv name of code table.
93
+ // Only code pages supported by iconv-lite:
94
+ // https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings
95
+ CODE_PAGES: {
96
+ PC437_USA: 'CP437',
97
+ PC850_MULTILINGUAL: 'CP850',
98
+ PC860_PORTUGUESE: 'CP860',
99
+ PC863_CANADIAN_FRENCH: 'CP863',
100
+ PC865_NORDIC: 'CP865',
101
+ PC851_GREEK: 'CP860',
102
+ PC857_TURKISH: 'CP857',
103
+ PC737_GREEK: 'CP737',
104
+ ISO8859_7_GREEK: 'ISO-8859-7',
105
+ WPC1252: 'CP1252',
106
+ PC866_CYRILLIC2: 'CP866',
107
+ PC852_LATIN2: 'CP852',
108
+ SLOVENIA: 'CP852',
109
+ PC858_EURO: 'CP858',
110
+ WPC775_BALTIC_RIM: 'CP775',
111
+ PC855_CYRILLIC: 'CP855',
112
+ PC861_ICELANDIC: 'CP861',
113
+ PC862_HEBREW: 'CP862',
114
+ PC864_ARABIC: 'CP864',
115
+ PC869_GREEK: 'CP869',
116
+ ISO8859_2_LATIN2: 'ISO-8859-2',
117
+ ISO8859_15_LATIN9: 'ISO-8859-15',
118
+ PC1125_UKRANIAN: 'CP1125',
119
+ WPC1250_LATIN2: 'WIN1250',
120
+ WPC1251_CYRILLIC: 'WIN1251',
121
+ WPC1253_GREEK: 'WIN1253',
122
+ WPC1254_TURKISH: 'WIN1254',
123
+ WPC1255_HEBREW: 'WIN1255',
124
+ WPC1256_ARABIC: 'WIN1256',
125
+ WPC1257_BALTIC_RIM: 'WIN1257',
126
+ WPC1258_VIETNAMESE: 'WIN1258',
127
+ KZ1048_KAZAKHSTAN: 'RK1048',
128
+ JAPAN: 'EUC-JP',
129
+ KOREA: 'EUC-KR',
130
+ CHINA: 'EUC-CN',
131
+ HK_TW: 'Big5-HKSCS',
132
+ TCVN_VIETNAMESE: 'tcvn',
133
+ TIS11_THAI: 'TIS-620',
134
+ TIS18_THAI: 'TIS-620',
135
+ VISCII: 'viscii',
136
+ },
137
+ // Barcode format
138
+ BARCODE_TXT_OFF: Buffer.from([0x1d, 0x48, 0x00]), // HRI barcode chars OFF
139
+ BARCODE_TXT_ABV: Buffer.from([0x1d, 0x48, 0x01]), // HRI barcode chars above
140
+ BARCODE_TXT_BLW: Buffer.from([0x1d, 0x48, 0x02]), // HRI barcode chars below
141
+ BARCODE_TXT_BTH: Buffer.from([0x1d, 0x48, 0x03]), // HRI barcode chars both above and below
142
+ BARCODE_FONT_A: Buffer.from([0x1d, 0x66, 0x00]), // Font type A for HRI barcode chars
143
+ BARCODE_FONT_B: Buffer.from([0x1d, 0x66, 0x01]), // Font type B for HRI barcode chars
144
+ BARCODE_HEIGHT: Buffer.from([0x1d, 0x68, 0x64]), // Barcode Height [1-255]
145
+ BARCODE_WIDTH: Buffer.from([0x1d, 0x77, 0x03]), // Barcode Width [2-6]
146
+ BARCODE_UPC_A: Buffer.from([0x1d, 0x6b, 0x00]), // Barcode type UPC-A
147
+ BARCODE_UPC_E: Buffer.from([0x1d, 0x6b, 0x01]), // Barcode type UPC-E
148
+ BARCODE_EAN13: Buffer.from([0x1d, 0x6b, 0x02]), // Barcode type EAN13
149
+ BARCODE_EAN8: Buffer.from([0x1d, 0x6b, 0x03]), // Barcode type EAN8
150
+ BARCODE_CODE39: Buffer.from([0x1d, 0x6b, 0x04]), // Barcode type CODE39
151
+ BARCODE_CODE128: Buffer.from([0x1d, 0x6b, 0x49]), // Barcode type CODE128
152
+ BARCODE_ITF: Buffer.from([0x1d, 0x6b, 0x05]), // Barcode type ITF
153
+ BARCODE_NW7: Buffer.from([0x1d, 0x6b, 0x06]), // Barcode type NW7
154
+ // QR Code
155
+ QRCODE_MODEL1: Buffer.from([0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x31, 0x00]), // Model 1
156
+ QRCODE_MODEL2: Buffer.from([0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x32, 0x00]), // Model 2
157
+ QRCODE_MODEL3: Buffer.from([0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x33, 0x00]), // Model 3
158
+ QRCODE_CORRECTION_L: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x30]), // Correction level: L - 7%
159
+ QRCODE_CORRECTION_M: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x31]), // Correction level: M - 15%
160
+ QRCODE_CORRECTION_Q: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x32]), // Correction level: Q - 25%
161
+ QRCODE_CORRECTION_H: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x33]), // Correction level: H - 30%
162
+ QRCODE_CELLSIZE_1: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x01]), // Cell size 1
163
+ QRCODE_CELLSIZE_2: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x02]), // Cell size 2
164
+ QRCODE_CELLSIZE_3: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x03]), // Cell size 3
165
+ QRCODE_CELLSIZE_4: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x04]), // Cell size 4
166
+ QRCODE_CELLSIZE_5: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x05]), // Cell size 5
167
+ QRCODE_CELLSIZE_6: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x06]), // Cell size 6
168
+ QRCODE_CELLSIZE_7: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x07]), // Cell size 7
169
+ QRCODE_CELLSIZE_8: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x08]), // Cell size 8
170
+ QRCODE_PRINT: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x51, 0x30]), // Print QR code
171
+ // PDF417
172
+ PDF417_CORRECTION: Buffer.from([0x1d, 0x28, 0x6b, 0x04, 0x00, 0x30, 0x45, 0x31]), // Append 1-40 for ratio
173
+ PDF417_ROW_HEIGHT: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x44]), // Append 2-8 for height
174
+ PDF417_WIDTH: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x43]), // Append 2-8 for width
175
+ PDF417_COLUMNS: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x41]),
176
+ PDF417_OPTION_STANDARD: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x46, 0x00]), // Standard barcode
177
+ PDF417_OPTION_TRUNCATED: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x46, 0x01]), // Truncated barcode
178
+ PDF417_PRINT: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x30, 0x51, 0x30]),
179
+ // MaxiCode
180
+ // Formatted data containing a structured Carrier Message with a numeric postal code. (US)
181
+ MAXI_MODE2: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x32]),
182
+ // Formatted data containing a structured Carrier Message with an alphanumeric postal code. (International)
183
+ MAXI_MODE3: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x33]),
184
+ MAXI_MODE4: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x34]), // Unformatted data with Standard Error Correction.
185
+ MAXI_MODE5: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x35]), // Unformatted data with Enhanced Error Correction.
186
+ MAXI_MODE6: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x36]), // For programming hardware devices.
187
+ MAXI_PRINT: Buffer.from([0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x51, 0x30]),
188
+ // Image format
189
+ S_RASTER_N: Buffer.from([0x1d, 0x76, 0x30, 0x00]), // Set raster image normal size
190
+ S_RASTER_2W: Buffer.from([0x1d, 0x76, 0x30, 0x01]), // Set raster image double width
191
+ S_RASTER_2H: Buffer.from([0x1d, 0x76, 0x30, 0x02]), // Set raster image double height
192
+ S_RASTER_Q: Buffer.from([0x1d, 0x76, 0x30, 0x03]), // Set raster image quadruple
193
+ // Printing Density
194
+ PD_N50: Buffer.from([0x1d, 0x7c, 0x00]), // Printing Density -50%
195
+ PD_N37: Buffer.from([0x1d, 0x7c, 0x01]), // Printing Density -37.5%
196
+ PD_N25: Buffer.from([0x1d, 0x7c, 0x02]), // Printing Density -25%
197
+ PD_N12: Buffer.from([0x1d, 0x7c, 0x03]), // Printing Density -12.5%
198
+ PD_0: Buffer.from([0x1d, 0x7c, 0x04]), // Printing Density 0%
199
+ PD_P50: Buffer.from([0x1d, 0x7c, 0x08]), // Printing Density +50%
200
+ PD_P37: Buffer.from([0x1d, 0x7c, 0x07]), // Printing Density +37.5%
201
+ PD_P25: Buffer.from([0x1d, 0x7c, 0x06]), // Printing Density +25%
202
+ };
203
+ export default config;
204
+ //# sourceMappingURL=epson-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epson-config.js","sourceRoot":"","sources":["../../lib/types/epson-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import PrinterType, { type BarcodeSettings, type Code128Settings, type MaxiCodeSettings, type PDF417Settings, type QRCodeSettings } from './printer-type.js';
2
+ export default class Epson extends PrinterType {
3
+ constructor();
4
+ getStatus(): Buffer;
5
+ append(appendBuffer: Buffer): void;
6
+ beep(numberOfBeeps?: number, lengthOfTheSound?: number): Buffer | null;
7
+ setTextSize(height: number, width: number): Buffer | null;
8
+ setLineSpacing(spacing: number): Buffer | null;
9
+ code128(data: string, settings?: Code128Settings): Buffer | null;
10
+ printQR(str: string, settings?: QRCodeSettings): Buffer | null;
11
+ pdf417(data: string, settings?: PDF417Settings): Buffer | null;
12
+ maxiCode(data: string, settings?: MaxiCodeSettings): Buffer | null;
13
+ printBarcode(data: string, type?: number, settings?: BarcodeSettings): Buffer | null;
14
+ printImage(image: string): Promise<Buffer | null>;
15
+ printImageBuffer(width: number, height: number, data: Uint8Array): Buffer | null;
16
+ }
17
+ //# sourceMappingURL=epson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epson.d.ts","sourceRoot":"","sources":["../../lib/types/epson.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,EAAE,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,cAGC;IAGD,SAAS,IAAI,MAAM,CAGlB;IAGD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMjC;IAKD,IAAI,CAAC,aAAa,SAAI,EAAE,gBAAgB,SAAI,GAAG,MAAM,GAAG,IAAI,CAO3D;IAGD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxD;IAGD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7C;IAGD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAkC/D;IAGD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAsD7D;IAGD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CA2C7D;IAGD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAgCjE;IAGD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAyCnF;IAIK,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAatD;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA8E/E;CACF"}
@@ -0,0 +1,333 @@
1
+ import epsonConfig from './epson-config.js';
2
+ import PrinterType from './printer-type.js';
3
+ export default class Epson extends PrinterType {
4
+ constructor() {
5
+ super();
6
+ this.config = epsonConfig;
7
+ }
8
+ // ------------------------------ Get paper status ------------------------------
9
+ getStatus() {
10
+ // https://www.epson-biz.com/modules/ref_escpos/index.php?content_id=124#gs_lr
11
+ return this.config.TRANSMIT_PAPER_STATUS;
12
+ }
13
+ // ------------------------------ Append ------------------------------
14
+ append(appendBuffer) {
15
+ if (this.buffer) {
16
+ this.buffer = Buffer.concat([this.buffer, appendBuffer]);
17
+ }
18
+ else {
19
+ this.buffer = appendBuffer;
20
+ }
21
+ }
22
+ // ------------------------------ Beep ------------------------------
23
+ // "numberOfBeeps" is the number of beeps from 1 to 9
24
+ // "lengthOfTheSound" is the length of the sound from 1 to 9 (it's not in seconds, it's just the preset value)
25
+ beep(numberOfBeeps = 1, lengthOfTheSound = 1) {
26
+ if (numberOfBeeps < 1 || numberOfBeeps > 9)
27
+ throw new Error('numberOfBeeps: Value must be between 1 and 9');
28
+ if (lengthOfTheSound < 1 || lengthOfTheSound > 9)
29
+ throw new Error('lengthOfTheSound: Value must be between 1 and 9');
30
+ this.buffer = null;
31
+ this.append(this.config.BEEP);
32
+ this.append(Buffer.from([numberOfBeeps, lengthOfTheSound]));
33
+ return this.buffer;
34
+ }
35
+ // ------------------------------ Set text size ------------------------------
36
+ setTextSize(height, width) {
37
+ this.buffer = null;
38
+ if (height > 7 || height < 0)
39
+ throw new Error('setTextSize: Height must be between 0 and 7');
40
+ if (width > 7 || width < 0)
41
+ throw new Error('setTextSize: Width must be between 0 and 7');
42
+ const x = Buffer.from(`${height}${width}`, 'hex');
43
+ this.append(Buffer.from([0x1d, 0x21]));
44
+ this.append(x);
45
+ return this.buffer;
46
+ }
47
+ // ------------------------------ Set line spacing ------------------------------
48
+ setLineSpacing(spacing) {
49
+ this.buffer = null;
50
+ if (spacing < 0 || spacing > 255) {
51
+ throw new Error('setLineSpacing: Spacing must be between 0 and 255');
52
+ }
53
+ // ESC 3 n - Set line spacing to n dots
54
+ this.append(Buffer.from([0x1b, 0x33, spacing]));
55
+ return this.buffer;
56
+ }
57
+ // ------------------------------ CODE 128 ------------------------------
58
+ code128(data, settings) {
59
+ this.buffer = null;
60
+ const opts = {
61
+ hriPos: 0,
62
+ hriFont: 0,
63
+ width: 3,
64
+ height: 162,
65
+ ...settings,
66
+ };
67
+ // Set HRI characters Position, 0-3 (none, top, bottom, top/bottom), default 0 none
68
+ this.append(Buffer.from([0x1d, 0x48])); // GS H
69
+ this.append(Buffer.from([opts.hriPos]));
70
+ // Set HRI character font. 0-4, 48-52, 97, 98 (depending on printer, 0 and 1 available on all), default 0
71
+ this.append(Buffer.from([0x1d, 0x66])); // GS f
72
+ this.append(Buffer.from([opts.hriFont]));
73
+ // Set width 2-6, default 3
74
+ this.append(Buffer.from([0x1d, 0x77])); // GS W
75
+ this.append(Buffer.from([opts.width]));
76
+ // Set height 1 - 255 default 162
77
+ this.append(Buffer.from([0x1d, 0x68])); // GS h
78
+ this.append(Buffer.from([opts.height]));
79
+ // Print Barcode
80
+ this.append(this.config.BARCODE_CODE128);
81
+ this.append(Buffer.from([data.length + 2]));
82
+ this.append(Buffer.from([0x7b, 0x42]));
83
+ // Data
84
+ this.append(Buffer.from(data));
85
+ return this.buffer;
86
+ }
87
+ // ------------------------------ QR ------------------------------
88
+ printQR(str, settings) {
89
+ this.buffer = null;
90
+ const opts = {
91
+ model: 2,
92
+ cellSize: 3,
93
+ correction: 'M',
94
+ ...settings,
95
+ };
96
+ // [Name] Select the QR code model
97
+ // [Code] 1D 28 6B 04 00 31 41 n1 n2
98
+ // n1
99
+ // [49 x31, model 1]
100
+ // [50 x32, model 2]
101
+ // [51 x33, micro qr code]
102
+ // n2 = 0
103
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=140
104
+ if (opts.model === 1)
105
+ this.append(this.config.QRCODE_MODEL1);
106
+ else if (opts.model === 3)
107
+ this.append(this.config.QRCODE_MODEL3);
108
+ else
109
+ this.append(this.config.QRCODE_MODEL2);
110
+ // [Name]: Set the size of module
111
+ // 1D 28 6B 03 00 31 43 n
112
+ // n depends on the printer
113
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=141
114
+ const size = 'QRCODE_CELLSIZE_'.concat(opts.cellSize.toString());
115
+ this.append(this.config[size]);
116
+ // [Name] Select the error correction level
117
+ // 1D 28 6B 03 00 31 45 n
118
+ // n
119
+ // [48 x30 -> 7%]
120
+ // [49 x31-> 15%]
121
+ // [50 x32 -> 25%]
122
+ // [51 x33 -> 30%]
123
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=142
124
+ const correction = 'QRCODE_CORRECTION_'.concat(opts.correction.toUpperCase());
125
+ this.append(this.config[correction]);
126
+ // [Name] Store the data in the symbol storage area
127
+ // 1D 28 6B pL pH 31 50 30 d1...dk
128
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=143
129
+ const s = str.length + 3;
130
+ const lsb = parseInt(`${s % 256}`);
131
+ const msb = parseInt(`${s / 256}`);
132
+ this.append(Buffer.from([0x1d, 0x28, 0x6b, lsb, msb, 0x31, 0x50, 0x30]));
133
+ this.append(Buffer.from(str));
134
+ // [Name] Print the symbol data in the symbol storage area
135
+ // 1D 28 6B 03 00 31 51 m
136
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=144
137
+ this.append(this.config.QRCODE_PRINT);
138
+ return this.buffer;
139
+ }
140
+ // ------------------------------ PDF417 ------------------------------
141
+ pdf417(data, settings) {
142
+ this.buffer = null;
143
+ const opts = {
144
+ correction: 1,
145
+ rowHeight: 3,
146
+ width: 3,
147
+ columns: 0,
148
+ truncated: false,
149
+ ...settings,
150
+ };
151
+ // Set error correction ratio 1 - 40, default 1
152
+ this.append(this.config.PDF417_CORRECTION);
153
+ this.append(Buffer.from([opts.correction]));
154
+ // Set row height 2 - 8, default 3
155
+ this.append(this.config.PDF417_ROW_HEIGHT);
156
+ this.append(Buffer.from([opts.rowHeight]));
157
+ // Set width of module 2 - 8, default 3
158
+ this.append(this.config.PDF417_WIDTH);
159
+ this.append(Buffer.from([opts.width]));
160
+ // Manually set columns 1 - 30, default auto
161
+ this.append(this.config.PDF417_COLUMNS);
162
+ this.append(Buffer.from([opts.columns]));
163
+ // Standard or truncated option
164
+ if (opts.truncated)
165
+ this.append(this.config.PDF417_OPTION_TRUNCATED);
166
+ else
167
+ this.append(this.config.PDF417_OPTION_STANDARD);
168
+ // Set PDF417 bar code data
169
+ const s = data.length + 3;
170
+ const lsb = parseInt(`${s % 256}`);
171
+ const msb = parseInt(`${s / 256}`);
172
+ this.append(Buffer.from([0x1d, 0x28, 0x6b, lsb, msb, 0x30, 0x50, 0x30]));
173
+ this.append(Buffer.from(data.toString()));
174
+ // Print barcode
175
+ this.append(Buffer.from(this.config.PDF417_PRINT));
176
+ return this.buffer;
177
+ }
178
+ // ------------------------------ MAXI CODE ------------------------------
179
+ maxiCode(data, settings) {
180
+ this.buffer = null;
181
+ const opts = {
182
+ mode: 4,
183
+ ...settings,
184
+ };
185
+ // Maxi Mode
186
+ // 2 - Formatted data/structured Carrier Message with a numeric postal code. (US)
187
+ // 3 - Formatted data/structured Carrier Message with a numeric postal code. (International)
188
+ // 4 - Unformatted data/Standard Error Correction.
189
+ // 5 - Unformatted data/Enhanced Error Correction.
190
+ // 6 - Used for programming hardware devices.
191
+ if (opts.mode === 2)
192
+ this.append(this.config.MAXI_MODE2);
193
+ else if (opts.mode === 3)
194
+ this.append(this.config.MAXI_MODE3);
195
+ else if (opts.mode === 5)
196
+ this.append(this.config.MAXI_MODE5);
197
+ else if (opts.mode === 6)
198
+ this.append(this.config.MAXI_MODE6);
199
+ else
200
+ this.append(this.config.MAXI_MODE4);
201
+ // Setup size of MaxiCode data
202
+ const s = data.length + 3;
203
+ const lsb = parseInt(`${s % 256}`);
204
+ const msb = parseInt(`${s / 256}`);
205
+ // Send Data
206
+ this.append(Buffer.from([0x1d, 0x28, 0x6b, lsb, msb, 0x32, 0x50, 0x30]));
207
+ this.append(Buffer.from(data.toString()));
208
+ // Print barcode
209
+ this.append(this.config.MAXI_PRINT);
210
+ return this.buffer;
211
+ }
212
+ // ------------------------------ BARCODE ------------------------------
213
+ printBarcode(data, type, settings) {
214
+ this.buffer = null;
215
+ const opts = {
216
+ hriPos: 0,
217
+ hriFont: 0,
218
+ width: 3,
219
+ height: 162,
220
+ ...settings,
221
+ };
222
+ // Set HRI characters Position, 0-3 (none, top, bottom, top/bottom)
223
+ this.append(Buffer.from([0x1d, 0x48])); // GS H
224
+ this.append(Buffer.from([opts.hriPos]));
225
+ // Set HRI character font. 0-4, 48-52, 97, 98 (depending on printer, 0 and 1 available on all), default 0
226
+ this.append(Buffer.from([0x1d, 0x66])); // GS f
227
+ this.append(Buffer.from([opts.hriFont]));
228
+ // Set width 2-6, default 3
229
+ this.append(Buffer.from([0x1d, 0x77])); // GS W
230
+ this.append(Buffer.from([opts.width]));
231
+ // Set height 1 - 255 default 162
232
+ this.append(Buffer.from([0x1d, 0x68])); // GS h
233
+ this.append(Buffer.from([opts.height]));
234
+ // Print Barcode
235
+ this.append(Buffer.from([0x1d, 0x6b])); // GS k
236
+ // Select type and bit length of data
237
+ if (type === 73) {
238
+ this.append(Buffer.from([type, data.length + 2]));
239
+ this.append(Buffer.from([0x7b, 0x42]));
240
+ }
241
+ else {
242
+ this.append(Buffer.from([type, data.length]));
243
+ }
244
+ // Data
245
+ this.append(Buffer.from(data));
246
+ return this.buffer;
247
+ }
248
+ // ----------------------------------------------------- PRINT IMAGE -----------------------------------------------------
249
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88
250
+ async printImage(image) {
251
+ try {
252
+ // Lazy Node-only deps: keeps browser/Capacitor bundles free of `fs`/`pngjs`
253
+ // unless file-based image printing is actually used.
254
+ const { readFileSync } = await import('fs');
255
+ const { PNG } = await import('pngjs');
256
+ const data = readFileSync(image);
257
+ const png = PNG.sync.read(data);
258
+ const buff = this.printImageBuffer(png.width, png.height, png.data);
259
+ return buff;
260
+ }
261
+ catch (error) {
262
+ throw error;
263
+ }
264
+ }
265
+ printImageBuffer(width, height, data) {
266
+ this.buffer = null;
267
+ // Get pixel rgba in 2D array
268
+ const pixels = [];
269
+ for (let i = 0; i < height; i++) {
270
+ const line = [];
271
+ for (let j = 0; j < width; j++) {
272
+ const idx = (width * i + j) << 2;
273
+ line.push({
274
+ r: data[idx],
275
+ g: data[idx + 1],
276
+ b: data[idx + 2],
277
+ a: data[idx + 3],
278
+ });
279
+ }
280
+ pixels.push(line);
281
+ }
282
+ const imageBufferArray = [];
283
+ for (let i = 0; i < height; i++) {
284
+ for (let j = 0; j < Math.ceil(width / 8); j++) {
285
+ let byte = 0x0;
286
+ for (let k = 0; k < 8; k++) {
287
+ let pixel = pixels[i][j * 8 + k];
288
+ // Image overflow
289
+ if (pixel === undefined) {
290
+ pixel = {
291
+ a: 0,
292
+ r: 0,
293
+ g: 0,
294
+ b: 0,
295
+ };
296
+ }
297
+ if (pixel.a > 126) {
298
+ // checking transparency
299
+ const grayscale = parseInt(`${0.2126 * pixel.r + 0.7152 * pixel.g + 0.0722 * pixel.b}`);
300
+ if (grayscale < 128) {
301
+ // checking color
302
+ const mask = 1 << (7 - k); // setting bitwise mask
303
+ byte |= mask; // setting the correct bit to 1
304
+ }
305
+ }
306
+ }
307
+ imageBufferArray.push(byte);
308
+ }
309
+ }
310
+ const imageBuffer = Buffer.from(imageBufferArray);
311
+ // Print raster bit image
312
+ // GS v 0
313
+ // 1D 76 30 m xL xH yL yH d1...dk
314
+ // xL = (this.width >> 3) & 0xff;
315
+ // xH = 0x00;
316
+ // yL = this.height & 0xff;
317
+ // yH = (this.height >> 8) & 0xff;
318
+ // https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=94
319
+ // Check if width/8 is decimal
320
+ if (width % 8 !== 0) {
321
+ width += 8;
322
+ }
323
+ this.append(Buffer.from([0x1d, 0x76, 0x30, 48]));
324
+ this.append(Buffer.from([(width >> 3) & 0xff]));
325
+ this.append(Buffer.from([0x00]));
326
+ this.append(Buffer.from([height & 0xff]));
327
+ this.append(Buffer.from([(height >> 8) & 0xff]));
328
+ // append data
329
+ this.append(imageBuffer);
330
+ return this.buffer;
331
+ }
332
+ }
333
+ //# sourceMappingURL=epson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epson.js","sourceRoot":"","sources":["../../lib/types/epson.ts"],"names":[],"mappings":"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"}