-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Hi,
I was attempting to print two QR codes (of the same size) on the same line. Initially, I tried using printQRCode and print2DCode, but they do not support printing two QR codes on the same line.
I discovered that printBitmapBase64Custom can print two QR codes in the same line. To do this, I first generated the QR code strings and then used printBitmapBase64Custom to print them.
However, when I adjusted the width parameter to make the two QR codes appear the same size, the smaller QR code lost its square format.
Example of the issue (expect two qrcode with the same size & height):

Machine: T2s
Data example (qrcode generated by bwip-js/react-native):
{
leftQrCodeString: {
height: 82,
uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFIAAABSCAYAAADHLIObAAAAHnRFWHRTb2Z0d2FyZQBid2lwLWpzLm1ldGFmbG9vci5jb21Tnbi0AAADHklEQVR4nO2US25kMQwD+/6XntkMsugOw6KkBpIJBbyF/fShypYfj8fjz/B7NrX//N/lm/o5u6ov4wvyGCS1tKEpkCvQTo/rz1lBmv/UJMipQCeYAlB1aJzLQ+vQugVp6tC6bwO5jXM60gNx+grS6KT6vg1I2ght1OVNgdG18ytIuHZ+MchUoCq4jduCSC+E21dWkKFOZS8g008V/l/WMY+CPAJ5ZU7QNJ7m29b/NvbrQW5Hwe0//58+Fem+86OG+y3Iry3ud/qopn5UcOpP810DlY4FOasXNz4dqe1o0jpOb3phcF8FeQRSFaYNTwXS/Gk9F6/WWz0yEU1ckAKkshQQjU/jUtvWoQcaCypI2AdNSIWnT4UTTMG6Ott8BXmU7yWONqoa3jai8qaNujh6MWidF/+C/Dye2ot/KtjFpU+Da4yCSS/GVp8VTK0goSMduXT01P70QKd1XFx8MAX5edz0huNRnQqc5kkbSg92+/TgxAU5rJM25Mw9CdejtgU/vVAycUHCfl1D2waVTUc91Te9EOlBFGS4tiCdsK1/LAzWT/0pePr/Y12QTE8MMk1M95WlDaQHkj4hdG0TpALpvqv/60BSgFdxVC/9T+PiJ6sgdzqkHwV43VA62lTf9slw+qQV5Nf5cAMpoClQ18i79aVPl81fkMf5r0bVjdh2lBz4NN+0nsxXkG8CuQWSNnKlg/q7+tP+CxLqx/mmYKajlALZrqfAKZc4oCAFyOmo0Pj1qAijdWmd9H9BijrnIJ/3VcLUTxkF7/wpCJUntYIUeVL7iEuBbP3Vf9cIBUZBTS+IXBfk53Wm6/WopJ+z6YFN617pLsit7nQ01idmGqD6VFyqc3oRXvQW5BHIraUJrwROAan/ro6rv7aC/Pf/6kpTobTBtOFt/mn9ggzXGCS11F/Fp+BpPnoB6AHhi1CQbwJ5NRrpE6DWqVFw0wOwhV1B5+8aSeOn9mNBun3aCNWzzU91xwdekN8EJB3l9ejAhq4OwtV92S/IrA+5v23k2l/FbUd0m88eUEHO6kuQ6acSpiOOhQ4bdnE03voX5AHIv806A7TiWfd3AAAAAElFTkSuQmCC',
width: 82,
},
rightQrCodeString: {
height: 111,
uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAABvCAYAAADixZ5gAAAAHnRFWHRTb2Z0d2FyZQBid2lwLWpzLm1ldGFmbG9vci5jb21Tnbi0AAADsElEQVR4nO2TQXLFMAxCc/9Lt9t2+p2AATtpYCYbj4yQnnMcx/EV+H5qdI5oVx5XTWKWX30L77yvUpOYpfAu8jwSniJ24AR4FzDEZ+UjHvoU3nk2Nn/hEZ5I/evgJcIpA6xclmvRiKc0V+F5c7KehTeZJ5GT9bw1PNZnJFdftkbJoOQsPCJz4Rl8Riq8Dz4r4bn82U/xUWZk7xae2UeZkb1beGYfZUb2rg0eq8TAK/1Hd1cCZrMV3kWvwiPOd/mP7j4GnutThnnDuW3Phbf+vPAefJ7Yc0SJQK4FIXfZmn+lwnuwCi+olYtD6tlsrgfBypWNzfyrpvDmVHhEDZLndfCkIpNsocleygNSYLgyQEOmVXiFR/d6PDx2ca4vMgzgyfqwWpm/8C58WBXeouFfAU8Jp9QoGVglHlb6cRfeB0+kV+Fd1CgZWD0SHjtMot4VWlmQogQMKWfh4Sq8D3cLz5AzvcRdXyI/IjaDpMIrvNt9ifyIbPBGRa4h6UBCvSsnclepd+288C78C4/wVOpdOZG7Sr0NHhvCBVXxTNcgWvlA6cyFd67Cm/RM1yC6HbwEMDqEyV+ZBcnM+rse6/Bu4Z33ZXux+dm+UiA2XOEF4SFyBU0PmcivAFP8bSq8wiu8SU+ogSsE4qm8ONciFACKpEdceH99lHNWhUd8iI9yzsoGTxkS8VwJVfGUFgr4sJ7DmsIrPKhZ4eHZlL5QCGUpLhhsnpXw2FlcnsMGSOPCm5ul8CY/xV+R5BknT2Zg61c+Ajaz6+6wvvAKT1Lhnd+FZmSbsUO6/BM+ygNK1NA5C6/wpBplgNfBS4R2hWOX+0RP5bzwNnsq54W32VM5p4Mqd12L2PUgdtVAmQvvfK5dNYVnmGtXzTAzO4yixOJcedjz+J+EqPAKL9Kr8AxKL1pZInueAKBkcOWkB2Br2LuFV3jvg+caOD0kcu6qQXbiyiaBLLzCK7zJvpC/i7ZrKQm5HsqubzhL4RVe4QU/ZJaI2BDsI0gM74KN6BaQRiq8cxXexaf4I31Zf7YXdNn1sf7sMMqCEnnS58OchVd4hRc8h+ApUhZKhxYy7Hp8bB6opvAKr/CIDIg/VJMOjfi47iYyj5TIVnjmzCMV3mTowlsEj61RMiieSl82m+txFN4Hn8KbDK1kUDyVvq+Dl/hYucC4YNOzFF7hFR6RLQ6PVdpHeRyuDGwvNg8NtfDwDGyvwiP8Xw3P9Y38lb6I2AUpnkpm254Lb86z8CY9kaUoNUj9dnjfQtPec+N9avwAAAAASUVORK5CYII=',
width: 111,
},
}
and the print command is
Sunmi.enterPrinterBuffer(true);
Sunmi.lineWrap(1);
Sunmi.printBitmapBase64Custom(leftQrCode.uri, 164, 2);
Sunmi.printerText(' ');
Sunmi.printBitmapBase64Custom(rightQrCode.uri, 164, 2);
Sunmi.exitPrinterBuffer(true);
Additional Issue: "Width and Height Must Be > 0" Error
Sometimes, an error is thrown with the message "width and height must be > 0" when using the following print command:
Sunmi.printBitmapBase64Custom(
'data:image/png;base64,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',
100,
2,
);
