Barcode Technology

Barcode History

Barcode Label Paper

Barcode Printer

Barcode Application

Inventory Management

AI Barcode QRCode

Barcode Scanner

Barcode Software

Barcode Software B

Barcode Software C

Barcode Software D

Barcode Software E

New Technology A

New Technology B

Robot Technology

Barcode Types

Barcode Types B

Barcode Types C

Barcode Types D

Barcode Types E

Barcode Types F

Electronic Technology

Psychology at Work

Barcode Technology and Barcode Software Related   <<< Back to Directory <<<

ZXing (Zebra Crossing) (P7)

ZXing (Zebra Crossing) Comprehensive Technical Analysis

Part 7 of 17: Aztec Code and MaxiCode Support in ZXing

60. Introduction to Aztec Code and MaxiCode in ZXing

60.1 Position of Aztec Code and MaxiCode in the barcode ecosystem

Within ZXing, Aztec Code and MaxiCode occupy a specialized but critically important role. Unlike QR Code and Data Matrix, which dominate general-purpose and industrial usage respectively, these symbologies are optimized for:

1. Space-constrained environments

2. High-speed scanning

3. Transport and logistics systems

4. Situations where quiet zones are unavailable or unreliable

ZXing includes both formats to ensure comprehensive 2D barcode coverage.

60.2 Design philosophy differences

Aztec Code and MaxiCode differ fundamentally from QR Code and Data Matrix in that:

1. They rely on centralized finder patterns

2. They minimize or eliminate quiet zone requirements

3. They emphasize fast orientation detection

4. They trade visual simplicity for structural efficiency

ZXing implementation reflects these design goals.

61. Aztec Code: Conceptual Overview

61.1 Core design principles

Aztec Code is defined by:

1. A central bullseye pattern

2. Concentric square rings

3. A compact symbol layout

4. Flexible error correction levels

Unlike QR Code, Aztec Code does not require a quiet zone, making it ideal for dense layouts.

61.2 Compact vs full Aztec symbols

Aztec Code supports two formats:

1. Compact Aztec Code

* Smaller central bullseye

* Limited data capacity

2. Full Aztec Code

* Larger bullseye

* Higher data capacity

ZXing supports both formats transparently.

62. Aztec Code Detection Pipeline

62.1 Initial image preprocessing

ZXing begins Aztec detection by:

1. Binarizing the image

2. Searching for square-like concentric patterns

3. Identifying high-contrast central regions

The goal is to locate potential bullseye candidates.

62.2 Bullseye detection algorithm

The bullseye is the defining feature of Aztec Code.

ZXing detects it by:

1. Locating a central black square

2. Expanding outward in alternating color layers

3. Verifying symmetry across all four directions

4. Counting concentric rings

Failure at any step causes candidate rejection.

62.3 Rotation and orientation handling

Because the bullseye is rotationally symmetric:

1. Orientation must be derived from reference bits

2. ZXing analyzes surrounding data layers

3. Rotation is normalized before decoding begins

This differs from QR Code explicit finder patterns.

63. Aztec Code Parameter Extraction

63.1 Layer count determination

Aztec Code symbols vary by:

1. Number of layers

2. Compact or full format

3. Error correction percentage

ZXing determines layer count by:

* Measuring ring thickness

* Counting alternating patterns

63.2 Error correction level extraction

Error correction information is encoded near the bullseye.

ZXing:

1. Reads parameter bits

2. Applies error correction to parameters themselves

3. Validates symbol configuration

Incorrect parameter decoding invalidates the entire symbol.

64. Aztec Code Grid Sampling

64.1 Coordinate mapping

ZXing maps the Aztec symbol into a normalized grid by:

1. Defining the symbol bounding box

2. Mapping layers to logical coordinates

3. Sampling each module center

Precise mapping is critical due to the compact layout.

64.2 Sampling tolerance

Aztec Code often appears:

* Slightly distorted

* Printed at small sizes

* Embedded in dense layouts

ZXing applies generous tolerance margins during sampling.

65. Aztec Code Data Extraction

65.1 Spiral traversal pattern

Unlike QR Code block traversal, Aztec Code uses:

* A spiral-like traversal starting near the center

* Alternating inward/outward reading patterns

ZXing follows the specification exactly to ensure compatibility.

65.2 Bitstream assembly

As modules are read:

1. Bits are appended to a stream

2. Codewords are constructed

3. Data and error correction codewords are separated

66. Error Correction in Aztec Code

66.1 Reed-Solomon usage

Aztec Code uses Reed-Solomon error correction similar in theory to QR Code and Data Matrix.

ZXing:

1. Applies Reed-Solomon decoding

2. Corrects symbol-level errors

3. Validates corrected output

66.2 Error correction flexibility

Aztec Code allows:

* Variable error correction percentages

* Higher redundancy for damaged symbols

ZXing respects these parameters during decoding.

67. Aztec Code Encoding Modes

67.1 Supported encoding modes

ZXing decodes the following modes:

1. Uppercase

2. Lowercase

3. Mixed

4. Punctuation

5. Digit

6. Binary

Each mode uses a different bit-length encoding.

67.2 Mode switching logic

ZXing implements:

1. Shift operations (temporary mode changes)

2. Latch operations (permanent mode changes)

This logic is implemented as a state machine.

67.3 Binary mode handling

Binary mode supports:

* Arbitrary byte sequences

* Compressed binary payloads

ZXing handles binary length prefixes and raw byte extraction.

68. Character Encoding and Output Handling

68.1 Default output behavior

ZXing outputs:

* Text when decoding text-based payloads

* Byte arrays when binary mode is used

Applications decide how to interpret the result.

68.2 Internationalization

Aztec Code does not use ECI explicitly.

ZXing:

* Preserves raw bytes

* Allows external character set interpretation

69. Aztec Code Encoding Support

69.1 Encoding features

ZXing can generate Aztec Code symbols with:

1. Automatic layer selection

2. Configurable error correction

3. Compact or full format

69.2 Encoding use cases

Common encoding scenarios include:

* Transport tickets

* Boarding passes

* Secure documents

* Space-limited labels

ZXing encoder focuses on specification compliance.

70. MaxiCode: Conceptual Overview

70.1 Origin and purpose

MaxiCode was designed for:

* High-speed package sorting

* Logistics and transport systems

* Fixed-size symbol usage

It is most commonly associated with courier and postal systems.

70.2 Fixed-size structure

Unlike other 2D barcodes, MaxiCode:

1. Has a fixed symbol size

2. Uses a central bullseye

3. Encodes data in hexagonal modules

ZXing treats MaxiCode as a special-case decoder.

71. MaxiCode Detection in ZXing

71.1 Bullseye detection

MaxiCode detection begins similarly to Aztec Code:

1. Locate central bullseye

2. Verify concentric circular patterns

3. Confirm expected geometry

71.2 Fixed geometry advantages

Because MaxiCode has fixed dimensions:

* Grid size is known in advance

* Sampling is simpler

* Perspective correction is limited

ZXing benefits from this predictability.

72. MaxiCode Data Decoding

72.1 Structured data regions

MaxiCode encodes:

1. Primary message (postal routing)

2. Secondary message (user data)

ZXing separates these regions during decoding.

72.2 Encoding modes

ZXing supports:

* Numeric modes

* Alphanumeric modes

* Binary data encoding

Traversal follows predefined hexagonal patterns.

73. Error Correction in MaxiCode

73.1 Reed-Solomon implementation

MaxiCode also relies on Reed-Solomon codes.

ZXing:

1. Applies symbol-specific correction parameters

2. Validates corrected data

3. Rejects symbols exceeding correction limits

74. Performance Characteristics

74.1 Aztec Code performance

Aztec Code decoding is:

* Faster than QR Code in dense layouts

* Robust in low-quiet-zone environments

* Computationally moderate

74.2 MaxiCode performance

MaxiCode decoding is:

* Extremely fast

* Highly reliable in controlled environments

* Less tolerant of distortion

75. Comparison with QR Code and Data Matrix

75.1 Structural comparison

Key contrasts:

1. Central bullseye vs corner finders

2. Minimal quiet zones

3. Compact layouts

4. Different traversal logic

75.2 Architectural reuse in ZXing

ZXing reuses:

* Binarization logic

* Error correction libraries

* Result handling

* Metadata reporting

Each symbology is implemented as a modular decoder.

76. Summary of Part 7

In this part, we covered:

1. Aztec Code design and use cases

2. Bullseye detection and normalization

3. Layer and parameter extraction

4. Aztec data traversal and decoding

5. Error correction mechanisms

6. Encoding support

7. MaxiCode structure and decoding

8. Performance and architectural considerations

Next Part 8 will explore PDF417 and MicroPDF417 support in ZXing, including stacked linear decoding, row detection, and high-capacity data handling.

 

EasierSoft Barcode Label Design & Bulk Printing Software

---- Use Excel Data to Batch Print Barcodes on Label Sheets or Roll Labels  

---- How to use this barcode software

Download:  Free Barcode Software + Barcode Label Designer

Download Free Barcode Software at Softonic

     Download at CNET

Once you obtain a GS1/UPC/EAN barcode, or other barcode type and QR code, you can use our free software to batch print barcode labels onto Roll label paper using a professional label printer, or to batch print barcodes onto Avery 5160 label sheets using a regular laser or inkjet printer. Our software has free and paid versions.

The free version fully meets your needs for batch printing GS1/UPC/EAN barcodes. The paid version can import data from Excel and databases to batch print barcode labels with different values.

How to Start

Input Data

Import Excel Data

Print Barcode

Barcode Format

Label Designer

All Screen Shot

Export Barcode Image

Save Template

Output Word Excel

How to Use & FAQ:

Export Barcode Image Format

File Names for Exported Barcode

Resolution of Exported Barcode Images

Fixed Folder for Exporting Barcode

Default Barcode Image Export Format

Print bulk barcodes quickly

Print barcodes to Avery 5160 label

How to bulk Barcode Printing

Sample - Avery 5162 (2x7) Label Sheet

Example: Print barcodes to 5*3cm roll

Example: Print barcodes to 5161 label

Example: Print barcodes to 5162 label

Example: Print barcodes to 5163 label

Example: Print barcodes to 5164 label

Example: Print portrait orientation 5164

Example: Print barcodes to 5167 label

Example: Print barcodes to 5168 label

Example: Print portrait orientation 5168

Example: Print barcodes to 5169 label

Example: Print barcodes to 5660 label

Example: Print barcodes to 5661 label

Example: Print barcodes to 5662 label

Example: Print barcodes to 5663 label

Example: Print barcodes to 5664 label

Example: Print portrait orientation 5664

Example: Print barcodes to 5873 label

Example: Print barcodes to 5874 label

Two ways to import Excel data

Import Excel Data - Pro Edition

Import Excel Data - Std Edition

Import Data from Excel - Detail

Load Data From Excel File

Data Editing Table

Copy Data From Excel

Four ways to input barcode data

Add ASCII Key E

Input Multiple Lines of Text for Barcodes

Generates Sequential Serial Numbers

Import or copy data from Excel sheets

Special sequence number generation

Std Details: Simple Input Form

Std Details: Multiple Line Text Input

Details: Sequence Barcode Generator

Examples: Sequence Barcode Generator

Import Data From Excel Spreadsheet

Barcode Data Correspondence Diagram

Data Editor

Editing a Single Row Data in Form

Batch Editing Multiple Rows of Data

Batch Data Editing - Example 2

Highlights

Excel integration: Import data directly from Excel to generate and print barcodes in bulk.

Label designer: Create complex labels with multiple barcodes, text, logos, and shapes.

Batch printing: Print thousands of barcodes at once using standard inkjet/laser printers or professional barcode printers.


Flexible editions:

Standard Edition: Simple batch printing with Excel data.

Professional Edition: Adds command-line automation for workflow integration.

Label Designer Edition: Advanced design features for complex labels.


Why Choose Our Barcode Solutions?

Cost-effective: Free online generator and permanent free desktop version available.

Easy to use: No technical expertise required—just input data and print.

Versatile: Supports nearly all 1D and 2D barcode types, including QR codes.

Trusted: Recommended by CNET and widely downloaded by users worldwide.


Suitable Use Cases

Small businesses and startups needing quick barcode labels for products.

Retailers and online sellers managing inventory with batch barcode printing.

Manufacturers requiring sequential or custom barcode labels for packaging.

Educational and testing environments where barcodes are used for tracking.

 

 

CONTACT

cs@easiersoft.com

If you have any question, please feel free to email us.

 

https://free-barcode.com

 

<<< Back to Directory <<<     Barcode Generator     Barcode Freeware     Privacy Policy