Li o artigo da Mundo Java nro 07 sobre a API JPS. Me empolguei com o negócio e resolvi implementar um pequeno servidor de impressao em minha empresa, baseado nos fontes do artigo. Está fucionando legal, com uma exceção: o numero de copias.
public class Print {
public void imprimir(){
.
.
attSet = new HashPrintRequestAttributeSet();
// Configura atributo Numero de Copias
attSet.add(new Copies(4));
// Configura atributo Tamannho papel
attSet.add(MediaSizeName.ISO_A4);
.
.
A linha que estabelece o numero de copias, parece nao ter efeito sobre o job. Nesse exemplo deveria imprimir 4 copias, mas só imprime 1, nao importa quantas voce peça. Será que precisa definir mais algum parametro? Algum palpite?
PrintRequestAttributeSet attSet = new HashPrintRequestAttributeSet();
attSet.add(new javax.print.attribute.standard.Copies(10)); //10 é o numero de cópias :)
Aí é só passar attSet para seu diálogo de impressão.
Pois é Volnei, mas nao funciona…
Estranhamente, sempre sai uma só copia… já tentei de tudo, e ate agora nada. Semana passada perdi uns 3 dias revirando a internet: foruns da Sun, javaalmanac, google… dai resolvi deixar como estava, sem usar job, dando um "type <relatorio> > \ip_do_micro\nome_compart_imp " tantas vezes quantas forem as copias pedidas pelo usuario. É horrivel, mas fazer o que.
Pois é… O sistema da empresa é todinho em COBOL, e tem filas de impressao gerenciadas pelo netware e outras em windows. Para gerar as impressoes no netware eu usei a API java/JNDI disponibilizada em developer.novell.com e tá funcionado muito bem. Já para as impressoras do windows eu queria fazer via PrintJob, mas o nro de copias nao consegui fazer funcionar de jeito nenhum. Cheguei ate mesmo a baixar os fontes do JEdit e ver como ele faz pra imprimir os arquivos editados, mas ele nao usa via imputstream, e sim pelo buffer em memoria, criando um objeto em 2D. Mas assim tambem nao me serve…, porque tenho arquivos de impressao que sao feitos pelo programa em cobol direto em PCL5 para as HP Laserjet, e dai quaquer bobeada com os caracteres ferra todo o layout.