Impressão de Carnês usando JasperReports

6 respostas
paulovittor23

Bom dia GUJERS,
gostaria da ajuda vcs p resolver um problema de impressão com o Jasper…

O problema é o seguinte:

Temos um carnê que é composto de diversas lâminas que podem ser frente e verso ou não…sendo que a impressão deste(feita em uma impressora Xerox DocuTeh 6115) é feita em larga escala…(50 mil p/ cima) e estamos pretendendo utilizar o JasperReports p desenvolver esses carnês…
dai surgiram algumas dúvidas… :roll:

1 - ) O JasperReports consegue realizar impressão frente e verso ? Senão, como isso pode ser feito ?

2 - ) É possível mandar o trabalho de impressão diretamente para impressora sem a necessidade de se criar um arquivo intermediário(PDF, HTML, etc) ?

3 - ) Alguém já trabalhou com impressão por Postscript ou PCL ? Qual a vantagem dessas sobre o formato PDF ? (velocidade ??)

Desde já agradeço a atenção de ter lido todo o tópico :wink:
Sugestões são bem-vindas :smiley:

[]s
Paulo Vitor

6 Respostas

L

Estou com um problema parecido
Alguém já trabalhou com comandos pcl?

malhuco
cara posso lhe responder apenas a pergunta numero 2, pode sim sem problemas.
// Preenche os dados no relatório
		JasperPrint print = JasperFillManager.fillReport( relatorio, new  HashMap(), dataSource);
		
		//configura a impressora
		PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
		aset.add(OrientationRequested.PORTRAIT);
		aset.add(new Copies(1));//numero de copias
		aset.add(new JobName("Relatório", null));
		PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();//pega a impressora padrão do pc
		 
		//Exporta para a impressora 
		JRPrintServiceExporter export = new JRPrintServiceExporter ();  
		export.setParameter(JRPrintServiceExporterParameter.JASPER_PRINT, print);  
		export.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, aset);  
		export.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, impressora.getAttributes());  
		export.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.TRUE);  
		export.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE);
		export.exportReport();

caso vc n keira q o Assitente d impressão não apareça, vc deve setar [color=red]FALSE [/color]para os parametros [color=blue] JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG[/color] e [color=blue] JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG[/color]
bom, oq eu poderia ajudar acho q eh isso....

abraço e t++

L

Opa obrigado

Já ajudou bastante com o problema.

Conseguimos fazer a impressão frente e verso com:

aset.add( Sides.TUMBLE );//DUPLEX SEM INVERSÃO
aset.add( Sides.DUPLEX );//DUPLEX COM INVERSÃO
R

Cara, esta dando um erro assim:

java.lang.IllegalArgumentException: Null range specified

alguem tem alguma luz?? :shock: :? :?

L

Aqui na empresa temos uma implementação com jasperreports parecida com a sugerida pelo malhuco.
Mas estamos com problema no tempo de impressão. Cada página a ser impressa leva um tempo acima da média quando a impressão é enviada automaticamente para impressora.
Quando geramos PDF o tempo é menor. Notamos que ao enviar para impressora, o job tem o tamanho médio de 5,5mb e quando pedimos para imprimir via PDF o mesmo arquivo tem apenas 2,79mb.
A nossa implemenação de impressão automática seta todos os parâmetro de empressão: tamanho do papel, frente ou verso, qualidade de impressão e orientação. Seria esse o motivo da demora na impressão entre vários arquivos??? Pois parece que para cada arquivo a impressora precisa “resetar” as configurações.
Caso alguem tenha alguma sugestão para o problema de delay de impressão desde já agradeço.

jorge.david

Esta aplicação é aplicavel para aplicação web tambem?

Criado 14 de junho de 2007
Ultima resposta 16 de jun. de 2013
Respostas 6
Participantes 6