IReport - Problemas

Bom estou criando um relatório no Ireport e roda normalmente no Ireport os códigos de barra, agora quando coloquei para rodar no Java ele da esse erro. Pelo oq compreendi foi que existe um caracter extendido de 2a5 não válido, mas não entendi o porque do erro. Gostaria de saber se alguém conheçe ou ja teve esse problema.

Agradeço desde ja quem puder me ajudar.

java.lang.RuntimeException: n is not a valid character for Standard 2 of 5 encoding
at it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(BcImage.java:73)
at untitled_report_1_1151416915030_472346.evaluate(untitled_report_1_1151416915030_472346.java:389)
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:172)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:556)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:524)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:952)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:420)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:403)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:399)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1300)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:631)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:228)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:747)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:663)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
at JasperReportsIntro.main(JasperReportsIntro.java:16)

Olá,

também já tivemos este problema com boletos bancários. Eles pedem o padrão intervalado 2 de 5. Mas na verdade, o tipo do código de barras tem que ser “GlobalTradeItemNumber”.
Mude para este tipo, lá no type do seu barcode e faça um teste.

Abaixo segue um link, de uma solução que inclusive encontramos na ocasião aqui:
http://www.guj.com.br/posts/list/17465.java

Bom consegui fazer o código de barras, só que agora o leitor não consegue ler… coloquei o código de barras original do boleto e ele funciona corretamente, e o meu q fiz não… percebi que… a ordem das barras estão certas, mas as minhas estão um pouco mais grossas…isso questão de menos de 1 milimetro, fazendo com que o leitor não reconheça a sequencia… alguém saberia como faço pra diminuir a largura das barras?

Muito obrigado por quem puder me ajudar…

Olá,

o problema é acertar o tamanho correto dele também…

Depois de muitas tentativas de impressão e testes na leitora, para boletos do Banco do Brasil e da CEF, o tamanho final que adotei nas propriedades do componente Barcode foram:
Aba common:
Width: 327
Height: 30

Aba Graphics Element:
Pen: None
Fill: Solid

Bom tentei desta forma mas o leitor ainda não consegue ler corretamente, estou anexando um modelo em pdf pra que você possa ver.
O modelo Int2of5 está com o padrão de barras conforme o meu original(do banco) mas o leitor não consegue ler.

Muito obrigado pela ajuda…

Mas você já tentou ir aumentando ele proporcionalmente ?

Vi o seu .pdf, e existe diferença nos tamanhos. Se não deu certo você ajustando nas tamanhos que te repassei, você terá que descobrir testando qual é a largura e altura ideias para o seu caso.

Para chegar naquele tamanho, eu fui fazendo assim, seguindo o modelo que eu tinha original, e ajustando, aumentando ou diminuindo a largura e a altura também.

Ai eu ia aumentando e testando a impressão e a leitura.

Outro detalhe, em que impressora você imprimindo ? Ela pode estar cortando o seu código de barras (não em refiro ao .pdf que você enviou, mas no documento, ou boleto final).

Usei como referência o boleto original do banco a qual tenho que fazer de modo que meu sistema gere igual.

No boleto original o tamanho é de 10,5 cm de largura por 1,5 cm de altura.

Verifiquei que 1 cm convertidos em pixels são exatamente 28 px, então fiz os 10,5 cm vezes 28 px e então vai me dar o resultado de 294px de largura e 1,5cm vezes 28 que é 42 pixels de altura.

O tipo de código saiu perfeito, igualzinho ao original que o banco me deu…mas pude notar que as linhas estão mais grossas que as originais… apenas isso… a ordem delas é a mesma…não entendo pq ela sai mais grossa que a normal.

Estou usando a impressora HP PSC 1600

Bom consegui os ajustes no tamanho e tudo mais, mas agora não reconheçe mesmo o código de barras…

estou anexando um pdf com alguns códigos de barras que fiz, e uma imagem mostrando como faço no IReport.

Alguém teria um tutorial de como mexer com os códigos de barras no IReport?


ola

estou com esse problema …

passei para o codigo de barra um parametro com o numero a ser impresso …

se eu uso a fonte int2of5 ele da erro na hora de gerar o relatorio …
se eu usar a globaltradeitem ele imprime o codigo, mas aparece um “01” na frente e um “9” no final … porque … como arrumar isso …