IDAutomation.com, Inc., Computers Hardware, Software & Services, Tampa, FL Contact IDAutomationView your cart in the IDAutomation Store  
Loading

Pass a Byte Array into Java Components

The following error may occur when passing a byte array directly into the DataToEncode method that expects a string value when using the Java Barcode Components:
java.lang.ArrayIndexOutOfBoundsException

Solution(s):

The solutions differ depending on the symbology:

  • PDF417: This is only possible with IDAutomation PDF417 Java Products V 4.10 dated October, 2004 or later. When using PDF417, pass the byte array to the binaryCode field of the class library. Make sure to set the processTilde to false and set PDFMode to 0.
    For example:
    PDF417 bc=new PDF417();
    bc.processTilde=false;
    bc.PDFMode=0;
    bc.binaryCode=myByteArray;
    Download a working example of this code here...
     

  • Data Matrix: When using Data Matrix barcodes, use the code example below to convert the byte array (encodedBytes) into a string that can be encoded in the code field. Make sure to set the encoding to E_BASE256 and processTilde to false.
    DataMatrix bc = new DataMatrix();
    bc.encoding = DataMatrix.E_BASE256;
    bc.processTilde=false;
    bc.code="";
    String binaryString;
    for (int i=0; i < encodedBytes.length; i++)
    {
        binaryString = Integer.toBinaryString((int)encodedBytes[i]);
        if (binaryString.length() > 8)
        binaryString = binaryString.substring(binaryString.length()-8,binaryString.length());
        bc.code = bc.code + (char) Integer.parseInt(binaryString,2);
    }

    Download a working example of this code here...

 © Copyright 2014 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.

 Barcode Fonts | Components | Scanners | Support | Contact Us
Training Videos on YouTube Join us on Google Plus Join us on LinkedIn Follow us on Twitter Like us on Facebook
Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses.