Estou com um problema na hora de passar a String com o código de barra no parâmetro do BarcodeInter25
, neste código está funcionando mas caso eu passe:
“23797685200000345000280090000014189301107610” ele gera uma Exception de java.lang.IllegalArgumentException: The text length must be even.
E eu já procurei varios tipos e não acho o ideal (Barcode128, BarcodeEAN, BarcodeInter25), já que meu projeto precisa gerar um barcode para boleto bancário com 44 posições do formato ITF.
public static void main(String[] args) {
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("d:\\BarcodesInter25.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
BarcodeInter25 code25 = new BarcodeInter25();
code25.setGenerateChecksum(true);
code25.setCode("99-1234567890-001");
Image image25 = code25.createImageWithBarcode(cb, null, null);
document.add(new Phrase(new Chunk(image25, 0, 0)));
}
catch (Exception de) {
de.printStackTrace();
}
document.close();
}
Observação: não posso alterar e nem incluir bibliotecas no projeto, devo utilizar somente a libary comum do Java.