leopoldofPJ 1 de abr. de 2008
Eu também estou com este problema…
tentei com o jasper, mas ao setar o atributo da impressora, ele somente aceita impressoras instaladas
File file = new File ( "C:/Users/teste/Desktop/RelTeste.jasper" );
JasperReport jasperReport = ( JasperReport ) JRLoader . loadObject ( file );
// submit parameters
Map parameters = new HashMap ();
parameters . put ( "param1" , "parametro1" );
parameters . put ( "param2" , "parametro2" );
JasperPrint jasperPrint = JasperFillManager . fillReport ( jasperReport , parameters , new JREmptyDataSource ());
JRPrintServiceExporter exporter = new JRPrintServiceExporter ();
exporter . setParameter ( JRPrintServiceExporterParameter . JASPER_PRINT , jasperPrint );
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet ();
aset . add ( new Copies ( 1 ));
aset . add ( MediaSizeName . ISO_A4 );
exporter . setParameter ( JRPrintServiceExporterParameter . PRINT_REQUEST_ATTRIBUTE_SET , aset );
PrintServiceAttributeSet serviceAttributeSet = new HashPrintServiceAttributeSet ();
/***********
Somente envia pra impressora se estiver instalada...
***********/
serviceAttributeSet . add ( new PrinterName ( "\\Administracao\hp" , Locale . getDefault ()));
exporter . setParameter ( JRPrintServiceExporterParameter . PRINT_SERVICE_ATTRIBUTE_SET , serviceAttributeSet );
System . out . println ( "Iniciando impressão" );
exporter . exportReport ();
System . out . println ( "Finalizando impressão" );
} catch ( Exception ex ) {
System . out . println ( "Erro = " + ex );
}
Alguém pode me ajudar? Como faço para informar ao jasper reports a impressora remota sem estar listada no meu PC?
Obrigado!!!