Olá,
Após configurar a impressão de Notas Fiscais, depurei o código e descobri que está ocorrendo um ArrayOutOfBoundsException no código abaixo (linha de código printer.endJob()):
public class MDocPrint extends X_LBR_DocPrint {
...
public void print(String PrinterType, String PrinterName,
String charSet, boolean condensed,
int pitch,MDocPrintFormField[] fields){
TextPrinter printer = PrinterFactory.getPrinter(PrinterType); // tipo da impressora
FilePort port = new FilePort(PrinterName); // localização da impressora
JobProperties job = printer.getDefaultJobProperties();
job.cols = getlbr_NoCols(); // colunas na folha
job.rows = getlbr_NoRows(); // linhas na folha
try {
printer.startJob(port, job);
TextProperties prop = printer.getDefaultTextProperties();
if (!(charSet == null || charSet.equals("")))
prop.characterSet = charSet;
prop.condensed = condensed;
prop.pitch = pitch;
//COMANDOS ESCP - linespacing = 1/8
//String ESCP = "eC6e0";
//printer.printString(ESCP,0,0,prop);
int lenght = fields.length;
for (int i=0;i<lenght;i++){
printer.printString(fields[i].getValue(), fields[i].getLocationY(), fields[i].getLocationX(), prop);
}
//Finish Job
printer.endJob(); // <<<<<<<<<<<<<<<<<< O ERRO OCORRE AQUI <<<<
}
catch (TextPrinterException ex) {
ex.printStackTrace();
}
}
O erro ocorre mais precisamente na classe TextPrinter, linha 615, mas não tenho o código para depurar.
Alguém sabe o que pode estar causando isso?
Obrigado,
Petterson