I need to generate barcode in 128A format with data: 900000588548001100001305000000000207201512345.6|12345.7
I'm using ZXing library and Here is my method:
private void barcodeGenerator(String data)
{
try
{
com.google.zxing.MultiFormatWriter writer = new MultiFormatWriter();
BitMatrix bm = writer.encode(data, BarcodeFormat.CODE_128, 700, 200);
Bitmap ImageBitmap = Bitmap.createBitmap(700, 200, Config.ARGB_8888);
for (int i = 0; i < 700; i++)
{//width
for (int j = 0; j < 200; j++)
{//height
ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK : Color.WHITE);
}
}
File f = new File(Environment.getExternalStorageDirectory() + "/barcode1.png");
FileOutputStream fos = new FileOutputStream(f);
ImageBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
}
catch(Exception e)
{
e.printStackTrace();
}
}
This method generates and stores the barcode image in SDCard which m scanning using ZXing Barcode Scanner.
Barcode is successfully scanned when data is small. eg: 123.4|456.7

But if data is large, eg: 900000588548001100001305000000000207201512345.6|12345.7
It looks like some wrong barcode is generated and Scanner is not able to scan the generated barcode.

Thanks in advance for help.
Edit: Have added generated barcode images