Skip to content

Inconsistent QR Code Printing Using printBitmapBase64Custom #60

@Xuan0410

Description

@Xuan0410

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):
IMG_2116

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,
      );

IMG_2117

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions