javabarcodepdf417

How do I generate a PDF417 Barcode with Java4Less?


For our standard PDF & Barcode generation, we have the Java4Less library (java4less-1.0rel.jar) so that our customers can print tickets sold to/by them. We use this library to create CODE128(C), Aztec, QR barcodes and so on.

Right now we're looking into PDF417 Barcodes; and while this library supports this generation, something isn't going right. Have a look at the following code from a small Netbeans project:

BarCode bc= new BarCode();
bc.setSize(400 , 200);
bc.barType = BarCode.PDF417;
bc.resolution=1;
bc.leftMarginCM= 50;
bc.topMarginCM= 50;
bc.checkCharacter =true;
bc.code = "THISISJUSTATESTTEXT";
bc.barColor = Color.black;
bc.backColor= Color.red;
bc.fontColor = Color.blue;
bc.textFont = new Font("Arial",Font.BOLD,14);
bc.X = 1;
bc.N = 3;

bc.paint(region);

ImageIO.write(img, "PNG", new File("barcode.png"));

This piece of code generates a .png image with the requested barcode-type. All barcodes are generated, except for the PDF417.

Here's an image that shows a CODE128 and a PDF417 generation:

CODE128, PDF417 generation comparison

As you can see, the CODE128 generates its barcode, but the PDF417 doesn't. The only thing changed in the code is the following:

bc.barType = BarCode.CODE128; --> bc.barType = BarCode.PDF417;

I've looked up the documentation, examples; I even downloaded the demo from the official Java4Less website, and in a war/Java project, it generates a PDF417 normally.

So what is going wrong here? Is it a bug in the library that anyone knows of, or am I missing a step?


Solution

  • It would seem that our current library, despite claiming to support PDF417 creation, was outdated. When using the demo's library I managed to succesfully create a PDF417 barcode with the previousley mentioned code.