JasperReports Code 128 Generator Library

Java Code 128 Barcode Generator Library to create, print Code 128 images in JasperReports, iReport reports

Code 128 for iReport plugin generate, create Code 128 barcode in iReport Jasper Reports

  • Easy to generate Code 128 barcodes in iReport reports
  • Simple to redistribute iReport Code 128 barcode library (jar).
  • No need for registration key or action code
  • Easy to use with no barcode fonts for third party tools required
  • Generating high quality Code 128 Bar Code images in GIF format
  • Completely developed in NETBeans iReport Custom Extended Report Item framework.
  • Mature iReport Code128 barcode generation plugin using Java Barcode Generator library
In this page, we will learn how to create and print Code 128 barcodes within JasperReport reports using Jaspersoft Studio (official Eclipse‑based report designer) or iReport Designer (legacy Swing‑based report designer).

Key content covered in this guide:
  • Quick steps to insert and generate Code 128 Barcode Component in a JRXML report template
  • Supported character sets, code sets, function characters, and automatic check digit logic for Code 128
  • Configuration of Human Readable Interpretation (HRI) text position and appearance
  • Dimension and margin settings for Code 128 barcode symbols
  • Encoding GS1‑compliant data using Code 128 / GS1‑128 in JasperReport reports


JasperReport Barcode Code 128 Generator Introduction

Top
iReport Barcode is a NETBeans iReport Custom Extended Report Item which helps you easily generate and print high quality 1D (linear) and 2D (matrix) barcodes in your iReport reports.

Barcode Code-128 Introduction

Code 128 is a very high-density barcode symbology. (A special version of it called GS1-128 is used extensively world wide in shipping and packaging industries.) It is used for alphanumeric or numeric-only barcodes

iReport Code 128 Generator - Valid Data Scope

  • all 128 characters of ASCII
  • values 128-255 in accordance with ISO 8859-1. There are referred to as extended ASCII.

Code 128 Generators

OnBarcode provides several Code 128 Generator components and software, including Code 128 Generator .NET, Code 128 Generator Java, Code 128 Generator C#, Code 128 Generator VB.NET, Code 128 Generator.






How to generate Code 128 Barcodes in JasperReport?

Top
Here is a simple example to create Code 128 barcode in iReport. More details here: tutorial to generate and print barcodes in iReport reprts.

One more guide for you to stream Code 128 barcodes in iReport using Java Barcode Generator buildin Servlet web application.
  1. Create a new report, and add barcode.jar to report classpath from the downloaded trial package
  2. Drag an image item to report from Palette, and click "Cancel" in pop-up window
  3. Right click on the image and edit its "Properties", and set property "Expression Class" to "net.sf.jasperreports.engine.JRRenderable";
  4. To input Code 128 barcode data manually, set property "Image Expression" to "new com.onbarcode.barcode.jasper.JasperRenderer(com.onbarcode.barcode.jasper.BarcodeGenerator.draw(12, "12345", "", "X=2&Y=60"))"
  5. To print Code 128 with data from database, please set property "Image Expression" to "new com.onbarcode.barcode.jasper.JasperRenderer(
    com.onbarcode.barcode.jasper.BarcodeGenerator.draw(12, $F{data field} + "", "", "X=2&Y=60"))
    ";

    BarcodeGenerator.draw method accepts 4 parameters:
    the second is the barcode data to encode, in String,
    the last is the barcode settings String. More details about barcode settings string, please check the Code 128 property table below




Code 128 Barcode Data Character Encoding in JasperReport Reports

This section describes supported characters, code sets, function characters, and mandatory check digit behavior for Code 128 in JasperReport reports. All settings are managed in Report Item Property.


Code 128 Supported Character Set

Code 128 supports a full range of characters for enterprise reporting:
  • All 128 full ASCII characters defined in ISO/IEC 646
  • Extended ASCII characters (128–255 from ISO/IEC 8859‑1 Latin Alphabet 1) using FNC4
  • Four non‑data function characters
  • Four code set selection characters
  • Three start characters
  • One stop character



Code 128 Code Sets in JasperReport Reports

Code 128 uses three dedicated code sets to optimize data density:
  • Code Set A
  • Code Set B
  • Code Set C
In JasperReport design:
  • Use barcode type CODE128 to enable automatic code set selection.
  • The JasperReports Library automatically chooses the optimal starting code set.
  • To enforce a specific code set, select one of these types in Report Item Property:
    • CODE128A
    • CODE128B
    • CODE128C
Note: Manually selecting an incompatible code set may cause encoding failure. Use auto mode unless required by your specification.


Code 128 Function Characters

Function characters (FNC) control scanner behavior and are automatically encoded by the JasperReports engine:
  • FNC1: Used for GS1 system data (GS1‑128 / EAN‑128)
  • FNC2: Used for message append operations
  • FNC3: Used for scanner initialization or reprogramming instructions
  • FNC4: Used to extend encoding to ISO/IEC 8859‑1 extended ASCII
You do not need to manually insert function characters in the data string.The barcode component handles them automatically based on data structure.


Code 128 Check Digit Character

Code 128 includes a mandatory check digit calculated using Modulo 103.
  • The check digit is not visible in HRI text.
  • It is not returned as part of decoded data by scanners.
  • The JasperReports Library always computes and appends the check digit automatically.
  • No manual checksum property is required or available for Code 128.
Note: Do not attempt to enable custom checksum settings. They are ignored for Code 128 and may cause configuration conflicts.


Code 128 Barcode Human Readable Interpretation (HRI)

The Human Readable Interpretation (HRI) is the text displayed below or above the Code 128 symbol.Position and appearance are configured in the Report Item Property panel.

Display HRI Below the Barcode
  • Select the Code 128 Barcode Component.
  • In Report Item Property, enable text display.
  • Set text alignment and default position (below the symbol).
  • Use Padding and Margin settings to control spacing.




Display HRI Above the Barcode
  • Enable HRI text in the property panel.
  • Adjust vertical position using margin or offset properties.
  • Use negative text margin values to shift text above the barcode.
  • Configure TopMargin and BottomMargin to avoid overlapping the quiet zone.
Note: Ensure HRI text does not enter the quiet zone. Violating this may cause scanning failures.


Code 128 Barcode Dimension and Size Settings

You can fully control Code 128 size and layout in JasperReport reports through Report Item Property. Available dimension properties:
  • UOM (Unit of Measure): PIXEL, CM, or INCH
  • X: Width of the narrowest bar module
  • Y: Height of the barcode module
  • LeftMargin, RightMargin: Quiet zone (minimum recommended width = 10X)
  • TopMargin, BottomMargin: Vertical spacing around the symbol
Configuration Steps
  • Set UOM to your preferred unit.
  • Define X (module width) based on printing or scanning requirements.
  • Set Y for appropriate barcode height.
  • Apply minimum quiet zone margins to ensure scan reliability.
  • Preview and adjust using Preview Mode before final export.



Note: A quiet zone smaller than 10X may result in unreliable scanning, especially in printed reports.

JasperReport Barcode Code 128 Generator - Property Settings

Top
Category Properties Value Comments
Basic Property: Data Type: expression
Default: ""
  • If you encode the barcode data text directly, the text string should be around by " " ", such as "12345"

  • If you encode the barcode data from dataset, input the expression, such as row["CUSTOMERNUMBER"]
Barcode value to encode.

Code 128 Valid Data Char Set:

  • all 128 characters of ASCII

  • values 128-255 in accordance with ISO 8859-1. There are referred to as extended ASCII.

Property: Add CheckSum Char Type: boolean
Default: false
Add CheckSum Char property is not applied here.
 
Code 128
Special
Property: Code 128 Code Set Type: int
Default: AUTO
4 valid code sets: AUTO, A, B, C
Property: processTilde Type: boolean
Default: false
Set the processTilde property to true, if you want use the tilde character "~" to specify special characters in the input data.

  • 1-byte character: ~0dd/~1dd/~2dd (character value from 000 ~ 255); ASCII character '~' is presented by ~126
    Strings from "~256" to "~299" are unused
  • 2-byte character (Unicode): ~6ddddd (character value from 00000 ~ 65535)
    Strings from "~665536" to "~699999" are unused
 
Barcode
Size
Related
Property: Unit of Measure Type: int
Default: 0 (pixel)
Unit of meature for all size related settings in the library.
Valid values: 0: pixel; 1: inch; 2: cm.
Property: X Type: float
Default: 1
Width of barcode bar module (narrow bar), default is 1 pixel
Property: Y Type: float
Default: 30
Height of barcode bar module, default is 30 pixel
Property: Left Margin Type: float
Default: 0
Barcode image left margin size.
Property: Right Margin Type: float
Default: 0
Barcode image right margin size.
Property: Top Margin Type: float
Default: 0
Barcode image top margin size.
Property: Bottom Type: float
Default: 0
Barcode image bottom margin size.
Property: Resolution (in dpi) Type: int
Default: 72
Barcode image resolution in DPI (Dots per inch).
Property: Rotate Type: int
Default: 0 (rotate angle in 0 degree)
Valid values:

  • 0 (rotate angle in 0 degree)
  • 90 (rotate angle in 90 degree)
  • 180 (rotate angle in 180 degree)
  • 270 (rotate angle in 270 degree)
 
Font
Style
Property: Show Text Type: boolean
Default: true
If true, display barcode data text under the barcode, otherwise do not display.
Property: Text Font Size Type: int
Default: 11
Barcode text font size.
Property: Text Margin Type: float
Default: 6
Space between barcode and barcode data text, default is 6 pixels


Summary

This guide has walked you through the complete process of designing, configuring, and generating Code 128 barcodes in JasperReport reports using Jaspersoft Studio and iReport Designer. Main contents covered:
  • Code 128 is implemented as a Barcode Component within JRXML report designs.
  • Automatic code set selection and check digit calculation ensure correct barcode structure.
  • HRI text position, size, margins, and dimensions are fully customizable.
  • GS1 data is supported natively via GS1‑128 / EAN‑128 mode.
  • Preview and export workflows use standard JasperReport tools including Preview Mode, JASPER compilation, and PDF Exporter.
By following this structured approach, you can reliably embed Code 128 barcodes into enterprise reports for labeling, inventory, shipping, and compliance use cases.







































Start with free trial package:








































Terms of Use | Privacy Policy
Copyright © OnBarcode.com . All rights reserved.