Qual a melhor forma de imprimir?

4 respostas
thiago_spdvr

Bom dia !

Tenho um sistema desktop que imprime relatórios em papel a4 e etiquetas de 80mm x 30 mm. O problema acontece quando a impressora padrão não esta configurada para a impressora de etiquetas por exemplo, mesmo que eu mande imprimir nessa impressora, a impressão sai fora dos padrões.
Queria saber se é possivel definir pelo sistema as impressoras pra cada tarefa e o sistema ja setar automaticamente as propriedades dessa impressora, pra não ter necessidade de mudar a impressora padrão pelo windows toda vez que for utilizar uma impressora diferente. Obrigado

4 Respostas

F

Bom Dia

Sim é possivel,

Primeiramente a impressora deve existir no PC que será impresso o relatório, mas não precisa estar como padrão.

O nome da impressora deve estar a igual ao compartilhamento do windows, por exemplo no meu caso é “\\AEEMBARQ\HP LaserJet P2015 Series PCL 6”

Classes que utilizei para impressão.

//Recupera a lista de impressoras disponiveis no PC, que serão utilizadas para efeftivar a impressão

HashPrintRequestAttributeSet obj = new HashPrintRequestAttributeSet();

PrintService[] services = PrintServiceLookup.lookupPrintServices(null,obj);

//Carrego a impressora em um objeto
PrintService escolhida = null;

//perccorre a lista de impressoras e descobre qual impressora deve ser utilziada

for(int index  = 0; (index < services.length && escolhida == null); index ++){

if(services[index].getName().toUpperCase().indexOf(nomeCompartilhamento.toUpperCase()) > -1){

escolhida = services[index];

}

}

Depois de armazenado a impressora no objeto PrintService utilizo a classe JRPrintServiceExporter para imprimir meu relatorio.

Obs: Os métodos que utilizo é setParameter e depois exportReport.

Qualquer duvida posso te enviar o exemplo completo.

Fabio

thiago_spdvr

O exemplo é muito bom, mas só não consegui pegar essa parte acima. Valeu.

F

Desculpe qual parte vc não entendeu?

thiago_spdvr

Não entendi bem, por nunca ter usado, a parte onde vc exporta p/ o relatório a impressora selecionada.
Se puder, poste a parte do código onde vc faz o uso da classe JRPrintServiceExporter e os métodos setParameter e exportReport.

Obrigado mais uma vez.

Criado 20 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 4
Participantes 2