|
@@ -30,15 +30,23 @@ func ESCPOS_Text(text string) []byte {
|
|
|
return append([]byte(text), '\n')
|
|
return append([]byte(text), '\n')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// ESCPOS_QRCode 打印二维码(EMD807 使用 US Q 指令)
|
|
|
|
|
|
|
+// ESCPOS_QRCode 打印二维码(GS ( k 指令)
|
|
|
func ESCPOS_QRCode(data string) []byte {
|
|
func ESCPOS_QRCode(data string) []byte {
|
|
|
- // US Q n m <data> — EMD807 二维码指令
|
|
|
|
|
- // n = len(data) + 3 (pL + pH + m)
|
|
|
|
|
- // m = 0x31 (QR code)
|
|
|
|
|
- n := byte(len(data) + 3)
|
|
|
|
|
- cmd := []byte{0x1F, 'Q'} // US Q
|
|
|
|
|
- cmd = append(cmd, n, 0x00) // pL, pH
|
|
|
|
|
- cmd = append(cmd, 0x31) // m = QR code
|
|
|
|
|
|
|
+ pL := byte(len(data) + 3)
|
|
|
|
|
+ pH := byte((len(data) + 3) >> 8)
|
|
|
|
|
+
|
|
|
|
|
+ cmd := []byte{GS, '('}
|
|
|
|
|
+ cmd = append(cmd, 0x04, 0x00, 0x31, 0x41, 0x32, 0x00) // QR Model 2
|
|
|
|
|
+ cmd = append(cmd, 0x03, 0x00, 0x31, 0x43, 0x08) // Cell size 8
|
|
|
|
|
+
|
|
|
|
|
+ // Store data
|
|
|
|
|
+ cmd = append(cmd, GS, '(')
|
|
|
|
|
+ cmd = append(cmd, pL, pH, 0x31, 0x50, 0x30)
|
|
|
cmd = append(cmd, []byte(data)...)
|
|
cmd = append(cmd, []byte(data)...)
|
|
|
|
|
+
|
|
|
|
|
+ // Print QR
|
|
|
|
|
+ cmd = append(cmd, GS, '(')
|
|
|
|
|
+ cmd = append(cmd, 0x03, 0x00, 0x31, 0x51, 0x30)
|
|
|
|
|
+
|
|
|
return cmd
|
|
return cmd
|
|
|
}
|
|
}
|