Olá,
uma duvida hoje conforme codigo abaixo gero o pdf em adobe na tela do cliente.
Mas queria que não mostrasse o relatório em pdf o adobe e sim mostrasse
um alert do Navegador aonde quer salvar ai eu escolheria o diretório no client
e salvaria no disco ??? alguém poderia me ajudar …vi alguns exemplos pra excel mais não consigui pra pdf conforme
jasperReport relatoriosJasper = (JasperReport)JRLoader.loadObject(jasperURL);
JasperPrint jasperPrint =
JasperFillManager.fillReport(relatoriosJasper, parameters, con);
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment;
filename=" + relatoriosJasper.getName()+".xls");
JRXlsExporter xls=new JRXlsExporter();
OutputStream output = response.getOutputStream( );
xls.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
xls.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,output);
xls.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,
Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
// xls.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET,Integer.decode("65000"));
xls.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,
Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
Boolean.FALSE);
xls.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE);
System.out.println("Before Exporting to XLS");
xls.exportReport();
output.flush();
output.close();
--atual gera pdf com adobe
1. try {
2. // carrega o relatório compilado
3. InputStream stream =
getServletContext().getResourceAsStream("caminho_do_arquivo_ponto_jasper");
4. JasperReport relatorio = JasperManager.loadReport(stream);
5.
6. // estabelece uma conexão JDBC (seria melhor usar DataSources J2EE)
7. Class.forName(driver);
8. Connection con = DriverManager.getConnection(url, login, passwd);
9.
10. Statement stm = con.createStatement();
11. ResultSet rs = stm.executeQuery(consultaSQL);
12.
13. // implementação da interface JRDataSource para DataSource ResultSet
14. JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
15. Map parametros = new HashMap();
16.
17. // executa o relatório
18. JasperPrint impressao = JasperManager.fillReport(relatorio,
parametros, jrRS);
19.
20. JasperManager.printReportToPdfStream(impressao,
response.getOutputStream());
21. con.close();
22. } catch (Exception e) {
23. throw new ServletException(e);
24. }