Boas,
Eu gostaria de pedir uma ajuda sobre impressão de notas fiscais, atualmente eu faço assim:
public static void imprimeNota(int idCompra) {
notaFiscal = "\n\n\n\n\n\n";
notaFiscal += format(new String(), 36);
notaFiscal += data + " 5.949\n";//data da nota
notaFiscal += format(new String(), 43);
notaFiscal += "ACADEMIA\n\n\n";// prestacao de servico
notaFiscal += format(new String(), 10);
notaFiscal += format(nome, 60);// dados do cabecalho
notaFiscal += "\n";
notaFiscal += format(new String(), 10);
notaFiscal += format(cpf, 14);
notaFiscal += format(new String(), 39);
notaFiscal += "ISENTO\n";
notaFiscal += format(new String(), 10);
notaFiscal += format(endereco, 60);
notaFiscal += "\n";
notaFiscal += format(new String(), 10);
notaFiscal += format(bairro, 14);
notaFiscal += " ";
notaFiscal += format(cidade, 18);
notaFiscal += " ";
notaFiscal += format(estado, 2);// fim dos dados do cabecalho
notaFiscal += "\n\n";
notaFiscal += format(new String(), 14);
notaFiscal += format(valor, 8);//valor da nota
notaFiscal += format(new String(), 20);
notaFiscal += "A Vista\n\n\n";//vencimento
notaFiscal += format(new String(), 10);
notaFiscal += format(valorExtenso, 60);//valor por extenso
notaFiscal += "\n\n\n\n\n";
// inicio da discriminacao dos servicos
if(valorServicos != 0.0) {
notaFiscal += format(new String(), 7);
notaFiscal += "01";
notaFiscal += format(new String(), 6);
notaFiscal += "AULAS DE GINASTICA E AFINS";
notaFiscal += " 2,00% ISS";
notaFiscal += format(new String(), 20);
notaFiscal += format(DoubleUtil.toString(valorServicos), 8);
notaFiscal += "\n";
aliquota1 = new Double(2.00);
aliquota2 = new Double(2.00);
}
if(getImpressaoNota().equals("LPT1"))
Bio.sendLPT1(removeAcentos(notaFiscal));
else
Bio.sendLPT2(removeAcentos(notaFiscal));
}
public static void sendLPT1(final String str) {
new Thread() {
public void run() {
try {
FileOutputStream os = new FileOutputStream("LPT1");
PrintStream ps = new PrintStream(os);
ps.print(str);
os.close();
} catch(Exception e) {
}
}
}.start();
}
O que vem acontecendo, é que quando imprimo várias notas, normalmente as linhas vão descendo, será que existe alguma forma de eu fazer que seja entendido o número de linhas e colunas desse formulário que utilizo para imprimir NF’s. Eu gostaria também de definir uma fonte padrão para a impressão de notas.
Para pular para a próxima página, estou usndo o caracter Form Feed, ou 12 em ASCII (em C é “\f”, mas em Java é como “\u000C”). Será que existe algum caracter em ASCII genérico para informar o tamanho do formulário???
Desde já agradeço!!