I have two different BIXOLON POS Printers, SRP-350plus and SRP-S300. Printer Head densities are 180 dpi and 203 dpi respectively.
When a QRCode data of length greater than 650 characters is given, 350plus's printed QR image borders cross the printer paper (80mm) but S300 barely manages to print it properly. To get around this issue, I found out that we can change the MapMode Property to 4 (PTR_MM_METRIC - 0.01 mm) so that width given as parameter to PrintBarCode will be considered in units of 0.01 mm.
So, I gave width as 5000 (50 mm?). None of the printers print the QRCode. I changed width to 1000 and they are able to print. Why was 5000 an invalid parameter?
Another problem is that QR image printed does not have width 10mm. In fact, different QRCodes having different lengths of data get printed with different widths. I expected them to at least have nearly the same width.
I have gone through the BIXOLON OPOS Driver (V5.0.9) manual but could not find any description about PrintBarCode parameters or MapMode.
Here is my code in C++:
SetMapMode(PTR_MM_METRIC);
PrintBarCode(printerType, qrCodeData, PTR_BCS_QRCODE, width, width, PTR_BC_CENTER, PTR_BC_TEXT_NONE);
Can anyone help me in understanding how BIXOLON OPOS driver and printers interpret the width when MapMode property is set to PTR_MM_METRIC(4)?