Ajuda no uso do barcode do ireport

Oi!

Sou iniciante em ireports, não sei como funciona o uso do barcode no ireport. Alguém sabe alguns tutoriais?

Eu simplesmente arrastei um barcode para o relatório, escolhi o padrão int2of5 e no barcode expression já vem “0815”. Quando altero esse “número” para “08159” aparece a seguinte exceção:

Error filling print... Error evaluating expression :      Source text : it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(13,"08159",true,false,null,0,0) 
net.sourceforge.barbecue.BarcodeException: The Interleave 2 of 5 encoding requires an even number of data      at net.sourceforge.barbecue.linear.twoOfFive.Int2of5Barcode.validateData(Unknown Source)      at net.sourceforge.barbecue.linear.twoOfFive.Std2of5Barcode.<init>(Unknown Source)      at net.sourceforge.barbecue.linear.twoOfFive.Std2of5Barcode.<init>(Unknown Source)      at net.sourceforge.barbecue.linear.twoOfFive.Int2of5Barcode.<init>(Unknown Source)      at net.sourceforge.barbecue.BarcodeFactory.createInt2of5(Unknown Source)      at it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(BcImage.java:76)      at DareTocantins_1218227712599_433644.evaluate(DareTocantins_1218227712599_433644:160)      at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)      at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)      at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:890)      at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:871)      at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)      at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:311)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:247)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)      at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:910)      at java.lang.Thread.run(Unknown Source)  net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :      Source text : it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(13,"08159",true,false,null,0,0)      at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)      at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)      at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:890)      at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:871)      at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)      at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:311)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:247)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)      at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:910)      at java.lang.Thread.run(Unknown Source)  Caused by: java.lang.RuntimeException: The Interleave 2 of 5 encoding requires an even number of data      at it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(BcImage.java:101)      at DareTocantins_1218227712599_433644.evaluate(DareTocantins_1218227712599_433644:160)      at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)      ... 17 more 

Talvez o erro seja por não saber como funciona o padrão int2of5.

Desde já grato pela ajuda,
Quirino

HUAHAHUAHUAHUAHUAHUAHUA…
Novato é fogo…

O problema era o checksum.

Consegui colocar o código de barras do tamanho que pretendia, mas não entendi como funciona a relação do heigth e width para o barcode, acertei por tentativa e erro. Alguém sabe como funciona?

Grato.