QR Code Image Overlay as Center Override (~CO)

Barcode Information | Tutorials | Examples

An example of a small CO string in QR CodeCenter Override (~CO) makes use of an IDAutomation Patent Pending software process that overrides the modules that make up the center of a QR-Code symbol, similar to an Image Overlay. Changing the middle of the QR Code symbol may be necessary to differentiate it from other QR Codes, such as in the case of the QR Bill, used for digital payment transactions, or the QR Wi-Fi symbol, used to automatically connect to Wi-Fi Access Points.

A common method of changing the middle of a QR Code is to overlay an image on top of it. This method is different than an image overlay because it changes the array of modules in memory that make up the symbol before it is generated and it uses a portion of the area to provide better decoding. The result is a quickly generated symbol that is compatible with popular reporting software packages such as Crystal Reports, Microsoft Access, and SSRS that need to dynamically generate multiple barcodes and do not offer any easy implementation of an image overlay.

The Center Override is implemented in QR Code when the following are true:

  1. The proper ~CO string is created from the Excel Tool.
  2. The ProcessTilde or ApplyTilde is set to True in any 2020 or later release of an IDAutomation QR Code product.
  3. The ~CO string is added to the very end of the data being encoded. An example of a small CO string is ~CO77,007C6C446C7C00 which is shown below and appended to the end of the data encoded.

A small CO string is shown below appended to the end of the data encoded.

IDAutomation provides a tool to generate the Center Override in Microsoft Excel. When using the Excel tool, the user may easily design the CO in any size between 7×7 to 32×32 modules. The sizes may also be of different height and width. To be centered properly, the sizes should always be an odd number.

Center Override Tool for Excel Instructions:

  1. Download the IDAutomation QR Code Center Override Tool.
  2. Extract the IDAutomation_CO_Generator.xlsm file to a folder of choice or the desktop.
  3. In the Design Area worksheet, create the symbol so the upper left side of it is at cell D4 (or 1,1 in the gray area).
  4. Use the # for a dark module and a space for a white module.
  5. Change the Width in cell B1 and the Height in cell B2 to match what is needed.
  6. Press Copy to Clipboard and paste to the end of the DataToEncode.
  7. The CO should consume no more than 15% of the symbol to ensure it scans properly. If a larger CO is necessary, the error correction or size of the symbol must be increased to obtain a proper scan.

Center Override Details:

When using the Excel tool it is usually not necessary to understand the details of how the ~CO string is obtained, however, this information is presented here for users that wish to manually design it. The ~CO string is made up of the three characters “~CO”, two digits, (Width in Base 36) and (Height in Base 36), a comma separator character, and a string of hexadecimal digits appended together from top to bottom.

The number of hex digits is determined by the width parameter:

  • If Width <= 8 then 2 hex digits are used
  • If Width > 8 then 4 hex digits are used
  • If Width > 16 then 6 hex digits are used
  • If Width > 24 then 8 hex digits are used

This allows the ~CO code to execute faster for small patterns and support larger patterns as well.

This information is all appended to the very end of the data encoded in the barcode. From the example above, the ~CO string would be:
~CO77,007C6C446C7C00

This is appended to the end of the data encoded to execute the change.

Swiss QR Bill Generation

To generate the Swiss Cross for a QR Bill symbol, append the string below to the end of the data encoded. IDAutomation recommends using the 9×9 ~CO string:
~CO99,00007F00770077004100770077007F000000
The size and the X dimension of the symbol may need to be adjusted accordingly so the cross is within the specifications of 7 x 7 mm. Refer to the Swiss Implementation Guidelines for the QR-bill for more information. Refer to the Swiss QR Bill FAQ for other sizes of ~CO strings.

Supported Products

This capability is supported in all QR Code product versions 2020 or later including: