Galera alguem sabe se é possivel ( sabe como fazer ) para imprimir um relatório feito no IReport sem ter a necessidade de pré visualizar ?
Desde já agradeço
Abraços
Galera alguem sabe se é possivel ( sabe como fazer ) para imprimir um relatório feito no IReport sem ter a necessidade de pré visualizar ?
Desde já agradeço
Abraços
Dá uma olhada na documentação do jasper reports que provavelmente tem como sim.
Estou procurando na net e não acho nenhuma resposta , alguem já precisou fazer isso ?
Sabe como fazer ?
Abraços
JRExporter exporter = new export.JRTxtExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,NomeArquivo);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,impressao);
exporter.setParameter(JRExporterParameter.PROGRESS_MONITOR, null);
<a href="//exporter.setParameter">//exporter.setParameter</a>(export.JRTxtExporterParameter.PAGE_COLUMNS, “1400”);
<a href="//exporter.setParameter">//exporter.setParameter</a>(JRTxtExporterParameter.PAGE_ROWS, “400”);
<a href="//exporter.setParameter">//exporter.setParameter</a>(export.JRTxtExporterParameter.CHARACTER_ENCODING, “Unicode”);
exporter.exportReport();
//NomeArquivo é onde e o nome do arquivo .txt q vc quer criar ex:
C:/caminho/arquivo.txt e o impressao é o meu JasperPrint
isso é uma forma de colocar no codifo mas se estiver usando o ireport para ajudar a montar o relatorio pode escolher isso na barra de ferramentas, existe uma opcao de colocar como pdf, direto para impressora etc e via codigo tem essas opcoes tbm
[]´s
tem esse codigo tbm
PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
printRequestAttributeSet.add(MediaSizeName.ISO_A4);
PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
printServiceAttributeSet.add(new PrinterName(NomeImpressora, null));
JRPrintServiceExporter exporter = new JRPrintServiceExporter ();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, MEUJasperPrint);
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet);
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, printServiceAttributeSet);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.FALSE);
exporter.exportReport();
[]´s
[color=darkblue] Existem dois métodos o printPages e o printPage
boolean net.sf.jasperreports.engine.JasperManager.printPages(JasperPrint arg0, int arg1, int arg2, boolean arg3)
O printPage imprime só a página especificada enquanto o printPages imprime todos as páginas , ambos vão para saída da impressora padrão.
[/color]
public void imprimirEtiqueta(Conexao conn, String data, String nome, File fileName ) {
try {
Map parametros = new HashMap();
parametros.put("DATA", data);
parametros.put("NOME", nome);
if (parametros == null)
thorw new exception("Página em branco");
JasperPrint jPrint = JasperManager.fillReport(jReport_Etiqueta, parametros, conn);
int finalPag = jPrint.getPages().size() - 1;
System.out.println("Tamanho da página " +finalPag );
JasperManager.printPages(jPrint, 0 , finalPag ,true);
parametros = null;
jPrint = null;
} catch (Exception e) {
e.printStackTrace();
}
System.gc();
}
}
FOliverira , e Metaleiro …muito obrigado pela ajuda …
Consegui resolver o meu problema …
Metaleiro o que voce me passou funcionou perfeitamente, só que pra eu imprimir na impressora padrão direto eu coloquei no printPages o boolean como “false” .
:lol:
vlw galera.
Soh uma obs… a JasperManager.printPage(jasperPrint, 0, true); agora é JasperPrintManager.printPage(jasperPrint, 0, true);