lsongdev / node-escpos

🖨️ ESC/POS Printer driver for Node.js
https://npmjs.org/escpos
Other
1.38k stars 423 forks source link

added STAR printer essential milestone and its example #394

Closed daveleee closed 2 years ago

daveleee commented 2 years ago

STAR printer works well with ESC/POS library but just needs some different commands. I added some essential features to this PR with its example, which are all fully tested. I would like to add more STAR printer features from this PR. Here's the summary of features that I added below.

ESC d n
[Name] Paper cut instruction
[Code] ASCII ESC d n
Hexadecimal 1B 64 n
Decimal 27 100 n
[Defined Area] 0 ≤ n ≤ 3
48 ≤ n ≤ 51 (“0” ≤ n ≤ “3”)
[Initial Value] ---
[Function] This command executes the auto-cut according to the n specification, after printing data in the line buffer.
After auto-cutter is executed, the printer considers that position to be the top of the page.
ESC E
[Name] Select emphasized printing
[Code] ASCII ESC E
Hexadecimal 1B 45
Decimal 27 69
[Defined Area] ---
[Initial Value] Emphasized printing cancelled.
[Function] Specifies emphasized printing for subsequent data.
When in emphasized printing, data is printed in two passes.
This command is effective for both ANK characters and Kanji characters (prints with four passes for 2 pass
Kanji characters, and with 8 passes for 4 pass Kanji characters).
ESC F
[Name] Cancel emphasized printing
[Code] ASCII ESC F
Hexadecimal 1B 46
Decimal 27 70
[Defined Area] ---
[Initial Value] Emphasized printing cancelled.
[Function] Cancels emphasized printing for subsequent data.
ESC GS a n
[Name] Specify position alignment
[Code] ASCII ESC GS a n
Hexadecimal 1B 1D 61 n
Decimal 27 29 97 n
[Defined Area] 0 ≤ n ≤ 2
48 ≤ n ≤ 50 (“0” ≤ n ≤ “2”)
[Initial Value] n = 0
[Function] This specifies position alignment for all data in one line, in the set print region.

Reference https://www.starmicronics.com/support/Mannualfolder/dot_star_cm_en.pdf