Si es para una aplicacion web y que lo que se desea imprimir salga de la ventana del navegador usas algo asi:
HashMap param = new HashMap();
param.put("id", id);
HttpServletResponse response =
(HttpServletResponse)context.getExternalContext().getResponse();
InputStream reportStream =
context.getExternalContext().getResourceAsStream("Factura.jasper");
ServletOutputStream servletOutputStream =
response.getOutputStream();
connection =
this.serviceLocator.getDataSourceGeneral().getConnection();
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, param,
connection);
connection.close();
connection = null;
SimpleDateFormat formatFecha = new SimpleDateFormat("dd.MM.yyyy");
// StringBuffer header = new StringBuffer("attachment;");
StringBuffer header = new StringBuffer("filename=\"");
// header.append("filename=\"");
header.append(formatFecha.format(new Date()));
header.append(".pdf\"");
response.setContentType("application/pdf");
response.setHeader("Content-disposition", header.toString());
servletOutputStream.flush();
servletOutputStream.close();
context.responseComplete();
Donde id, es el identificador que pides.
Esto se usa con el .jasper que es el reporte ya compilado.
Esto se muestra dentro de un navegador y el nombre del archivo pdf que muestra tiene la fecha por siacaso.
Espero te sirva.
El 11 de abril de 2009 21:10, IP zer0
<ip....@gmail.com> escribió:
Hola.
Bueno en tu app de Netbeans:
Map parameters = new HashMap();
parameters.put("PARAMETRO", VALOR);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject("reporte.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, db.getConnnection());
JasperViewer.viewReport(jasperPrint);
VALOR vendria a ser el id que le pasas.
db es la instancia de una clase que tiene como que realiza y gestiona las conexiones con la Base de datos.
Suerte..
--
Joseph Cesar Mena S. a.k.a. IP-zer0
+51 (1) 991526548
L1nuX R3g1$t3r3d U53r #412302
.~.
( 0 0 )
/ V \
// \\
/(( _ ))\
|\__
(:>__)(
|/
--
Cordialmente.
William Diaz Pabón
Gerente de Tecnología
InfoTech Soluciones Ltda.
Cel:
3173314172Tunja - Boyacá - Colombia
http://www.infotechsoluciones.com
Tutoriales Técnicos:
http://tutorialestecnicos.blogspot.com/