Cannot control size, of printed QR code on EPSON TM88 V using MS Pos for .Net

1.1k Views Asked by At

I am upgrading an existing retailer software to print a QR code on an EPSON TM 88 V using MS Pos for .Net 1.14.

The PrintBarcode function is straightforward to use for one dimensional barcode, like the Code93, and its size can be adjusted with the width and height parameters.

        public abstract void PrintBarCode(PrinterStation station, string data, BarCodeSymbology symbology, int height, int width, int alignment, BarCodeTextPosition textPosition);

However, BarCodeSymbology QRCode (204) size does not seem to be adjustable with these height and width parameters.. The barcode prints fine, but is very tiny (about 5 mm width and height), regardless of the parameters value.

How can I adjust the size of the printed QR code?

3

There are 3 best solutions below

0
kunif On

The documentation for OPOS(EPSON OPOS ADK) rather than POS for.NET(EPSON OPOS ADK for.NET) has the following instructions:
Probably the same notes apply to POS for.NET.
Please try adjusting the Width parameter value to get the desired size.

3.6.2 Printing Size

Because the width and length of QR CODE are the same, printing is done to the inner part at a size closest to it by using the value specified by the Width parameter.
Therefore, the height of print is not affected by the Height parameter.
If the Height parameter is less than 0, an error occurs.
The print size is determined by the version of QR and the size of the module.
Because the version of QR is determined by the data length and type, you can use the size of the module to adjust the print size. If the two dimensional barcode cannot fit into the print area (depending on the paper width, layout settings, etc.) then OPOS_E_ILLEGAL is returned and at this moment ResultCodeExtended becomes zero.

For QR, it differs from other two dimensional barcodes; if the encoded data result is not known, then the print width cannot be obtained.
If the print width cannot be obtained, the page mode range for 90-degree rotated printing cannot be specified.
Therefore, within OPOS it calculates the number of code words of the encoded data.
Because of this reason, data amount can be correctly verified.

And here is a similar Japanese FAQ.
QR コードを印刷する方法<EPSON OPOS ADK シリーズ>

0
HumbertoS On

It depends on the amount of text of the data you want to print. If it is a string like "www.microsoft,com" or "012345678" it will be a small QR printed.

When you extend the length of the data being sent to the printer, you will see the difference.

0
HumbertoS On

You can adjust the parameters (where BcData is the QR), like this:

.PrintNormal PTR_S_RECEIPT, ESC + "|500uF"

'60 % SIZE

.PrintBarCode PTR_S_RECEIPT, BcData, PTR_BCS_QRCODE, .RecLineHeight * 0.6, .RecLineWidth * 0.6, PTR_BC_CENTER, PTR_BC_TEXT_NONE

.PrintNormal PTR_S_RECEIPT, ESC + "|fP"