18/12/2006, 02:42
|
| | Fecha de Ingreso: mayo-2006
Mensajes: 28
Antigüedad: 18 años, 7 meses Puntos: 0 | |
Re: Llamar a un servlet que genera pdf Con este codigo se llama al archivo jasper creado anteriormente con el Ireport y se genera el pdf.
public void nombre(HttpServletRequest request, HttpServletResponse response) throws IOException{
string sqlstr="";
try
{
InputStream in = this.getClass().getResourceAsStream("/plantillasinformes/LRTM_Informe_Receta.jasper");
//Pasamos parametros al reporte Jasper.
Map parameters = new HashMap();
sqlstr="select * from .........lo que sea";
parameters.put("sql", new String(sqlstr));
//PASAMOS UN PARAMTRO
String param="/plantillasinformes";
parameters.put("SUBREPORT_DIR", param);
byte[] bytes = JasperRunManager.runReportToPdf(in, parameters, getConnection());
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
//la siguiente linea, te obliga a descargar y le da el nombre//
response.addHeader("content-disposition","attachment; filename=RecetaIndividual.pdf");
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
catch (Exception e)
{
// out.println(e.getMessage());
}
}
public static Connection getConnection() throws ClassNotFoundException, SQLException {
String driver = "oracle.jdbc.driver.OracleDriver";
String connectString = "jdbc:oracle:thin:@192.168.1.204:1521:prueba4" ;
String user = "system";
String password = "psystem";
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectString, user, password);
//Retornamos la conexión establecida.
return conn;
} |