Java Barcode Generator, .NET Barcode Generator for C#, ASP.NET, VB.NET
HOME PURCHASE SITEMAP COMPANY
BarcodeLib.com Home > Products > Barcode for Java > Barcode USPS OneCode 4-State Customer


USPS OneCode 4-State Customer Barcode for Java, J2EE, JasperReports

This Symbology is also known as OneCode 4CB, USPS 4CB, 4-CB, 4-State Customer Barcode, USPS OneCode Solution Barcode

Quick Navigate
OneCode 4-State Customer Barcode (4-CB) is the next generation in the evolution of USPS barcode technology. It does not replace existing barcodes - it offers a more effective alternative. Partnering with the Mailing Industry, the Postal Service developed the 4-CB which increases the amount of information carried on letter and flats mail pieces and allows for expanded tracking capability, creating greater visibility into the mailstream.
4-CB is a height-modulated barcode using four distinct, vertical bar types. It encodes a 31-digit string into 65 vertical bars each representing one of four possible states: full bar, ascender, tracker, and descender.

4-State Barcode Bars
4-CB carries a payload 31 digits comprised of the following elements.
Type Field Digits
Tracking Code Barcode Identifier 2 (2nd digit must be 0-4)
Service Type Identifier 3
Mailer Identifier 6 or 9
Serial Number 9 or 6
If Mailer Identifier is 6, Serial Number must be 9.
If Mailer Identifier is 9, Serial Number must be 6.
Routing Code Delivery Point ZIP Code 0, 5, 9, or 11
Table 1 - USPS OneCode SOLUTION Barcode Data Fields
For each of the fields in Table 1, except the Routing Code, leading or trailing zeros shall be provided to achieve the correct size. Spaces and nulls are not acceptable characters for padding. For ZIP Codes, which have one of four lengths, encoding shall provide padding beyond the digits to be encoded. No error detection and correction, such as a checksum with POSTNET or PLANET, shall be included as part of the data fields. The OneCode Barcode Data Fields are described as follows:
  • The Barcode Identifier is assigned by USPS for the type of tracking service. This is two digits, with the second digit in the range of 0-4
  • The Service Type Identifier is assigned by USPS for any special services on the mailpiece. The allowable encoding range is 000-999
  • The Mailer Identifier is assigned by USPS as a unique identifier for each OneCode SOLUTION customer. The allowable encoding range is 000000-99999
  • The Serial Number is assigned by the mailer for tracking mailpieces. The allowable encoding range is 000000000-999999999
  • The Delivery Point ZIP Code is assigned by the mailer for routing the mailpiece. This replaces POSTNET for routing the mailpiece to its final delivery point. The length may be 0, 5, 9, or 11 digits. The allowable encoding ranges are no ZIP Code, 00000-99999, 000000000-999999999, and 00000000000-99999999999
Onecode Barcode for Java supports.
  • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

The following code illustrates how to create a barcode in a Java class

1            Linear linear = new Linear(); 
2            linear.setData("34160265194042788110"); 
3            linear.setType(Linear.ONECODE); 
4            linear.renderBarcode("c:/barcode.gif"); 


  • Create a Linear object (line 1)
  • set Linear object properties (line 2 - 3)
  • save into gif file (line 4)

There are two ways to create barcode images in your Java web applications.

  1. This is the simplest way to stream barcode image using our provided barcode servlet classes.

    And it will not save barcode images in your server side.

    • Under demo package, copy barcode folder to your java servlet container like tomcat.

    • To test your installation, goto http://YourDomain:Port/barcode/linear?Data=34160265194042788110&Type=ONECODE

    • To create barcode image in your JSP or html page, you can pass the url to IMG tag src value. For example, <img src="http://YourDomain:Port/barcode/linear?Data=34160265194042788110&Type=ONECODE" />

  2. The second method is similar with the way to generate barcode in Java applications.

    • Create a barcode image in server side

      1            Linear linear = new Linear(); 
      2            linear.setData("34160265194042788110"); 
      3            linear.setType(Linear.ONECODE); 
      4            linear.renderBarcode("C:/Tools/Tomcat 5.5/webapps/YourWebApp/bimages/barcode.gif"); 
      
      
      

    • In your JSP page, you can using IMG tag to display generated image, like <img src="http://YourDomain:Port/YourWebApp/bimages/barcode.gif" />

The following jasper xml content illustrates how to insert a barcode into JasperReports

<import value="com.barcodelib.barcode.BarcodeJasperFactory"/> 

Import class BarcodeJasperFactory to report.

<image scaleImage="Clip" hAlign="Center"> 
    <reportElement x="50" y="110" width="515" height="120"/> 
    <graphicElement/> 
    <imageExpression class="net.sf.jasperreports.engine.JRRenderable">
<![CDATA[new com.barcodelib.barcode.BarcodeJasperRenderer(BarcodeJasperFactory.createLinear(36, "34160265194042788110"))]]></imageExpression> </image>

Please go to class BarcodeJasperFactory in Java doc for all methods to create linear barcode.

Developers can also extend or modify BarcodeJasperFactory class to meet their own requirements. Complete BarcodeJasperFactory.java Source Code

Our Java barcode library supports generating barcode image in Eclipse BIRT framework.

Click here to view the details.

Just call Linear object method renderBarcode, e.g. linear.renderBarcode("c:/barcode.gif");
  • Set the type property to Linear.ONECODE
    Servlet Parameter: "Type".
  • Set the data property with the value to encode. Type is String.
    Servlet Parameter: "Data".
  • Setting up barcode image size:
    • Set property uom (Unit of Measure) for properties barWidth, barHeight, leftMargin, rightMargin, topMargin and bottomMargin.
      Default is Linear.UOM_PIXEL (0). Valid values are Linear.UOM_PIXEL (0), Linear.UOM_CM (1), Linear.UOM_Inch (2).
      Servlet Parameter: "UOM".
    • Set the X (for barcode module width) and Y (for barcode module height) properties. Both types are float.
      Servlet Parameter: "X", "Y".
    • Set the leftMargin, rightMargin, topMargin and bottomMargin properties, and types are all float.
      Servlet Parameter: "LeftMargin", "RightMargin", "TopMargin", "BottomMargin".
    • Set the barcodeWidth (barcode image width) and barcodeHeight (barcode image height) properties. Both types are float.
      Servlet Parameter: "BarcodeWidth", "BarcodeHeight".
    • Set the resolution property (Value is expressed in DPI - Dots per inch).
      Servlet Parameter: "Resolution".
  • Setting up text style in barcode image:
    • Set the showText properties. If this value is true, barcode data will be displayed with the barcode.
      Servlet Parameter: "ShowText".
    • Set the textFont property. The font used to display text in barcode image.
      Servlet Parameter: "TextFont".
  • Set bearerBars property, if you want to draw borders around barcode image. Value can be Linear.BEARERBAR_UNSPECIFIED (-1. let library decide whether draw bear bars or not), Linear.BEARERBAR_NONE (0. no bear bars), Linear.BEARERBAR_FRAME (1. top, bottom, left, right borders drawn), Linear.BEARERBAR_TOPBOTTOM (2. only top, bottom's are drawn).
    Servlet Parameter: "BearerBars".
  • Set rotate property, if you want to rotate barcode image.
    Value can be
    0 (Linear.ANGLE_0),
    1 (Linear.ANGLE_90),
    2 (Linear.ANGLE_180),
    3 (Linear.ANGLE_270)
    Servlet Parameter: "Rotate".
  • addCheckSum property is not applied.
    Servlet Parameter: "AddCheckSum".

To set barcode image width and height, there are two ways to do it.

1) You can set barcode image width and height through properties barcodeWidth and barcodeHeight values, barcode library will render the barcode image for you.

or

2) You can set X (barcode module width) and Y (barcode module height) values, barcode library will calculate the barcodeWidth and barcodeHeight values for you, and render the barcode image.

All Java Barcode Types/Symbologies


 







   Copyright 2009 BarcodeLib.com. Provides High Quality Java Barcode, Barcode Java, Java Barcode Generator. All rights reserved.