Hola,
Me huele q tu error va x lo siguiente, generas tu pdf de la siguiente manera:
//Cargas en un arreglo de Bytes
byte[] bytes = JasperRunManager.runReportToPdf("C:\\RptContratoCl iente3.jasper", parameters, conn);
//le indicas a la cabecera de respuesta que el contenido a leer x el browser es pdf
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
//y finalmente envias el contenido del archivo.
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
Ahora bien cuando envias cabeceras html como response.setContentType("application/pdf"); no puedes haber enviado contenido antes (imprimir nada x pantalla) y esta haciendo :
<html>
<head>
<title>Pruebas No. 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
codigo html y le dices mas encima q el resultado es text/html
y mas abajo incluso haces un:
System.out.println(String.valueOf(jasperPrint));
donde sigues tirando mas cosas x pantalla.
tonces debes evitar imprimir lo que sea, antes de enviar tu pdf al navegador.
Cita:
Iniciado por Summoner Hola a todos un poco novato en esto pero si me ha servido el foro en mi introducción a iReorts, si alguien me pudiera iluminar un poco se los agradeceria mucho. Mi problema es que no puedo ver mis reportes ya que me los manda en blanco, al parecer no me puede leer mi .jasper o algo por el estilo (ya he introdicudo lo recomendado al principio del foro en las carpetas mencionadas y me sucede esto) quiza estare omitiendo algo pero no he caido en la cuenta. Incluso al intentar generar el puro PDF al llenar el reporte y salvarlo en la máquina lo hace en blanco. Para no aburrirlos más tengo el siguiente error y el siguiente código:
//El error
Exception: Error In Viewing Report
java.io.IOException: CreateProcess: C:/Archivos de programa/Adobe/Acrobat 7.0/Re
aderAcroRd32.exe C:\Archivos de programa\Apache Group\Tomcat 4.1\webapps\prueba\
P2WReports\RptContratoCliente3.pdf error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:63 )
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)
at org.apache.jsp.Probando_jsp._jspService(Probando_j sp.java:173)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper
.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:2
95)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(Appl
icationFilterChain.java:247)
//Mi código
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.view.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Pruebas No. 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
File reportFile = new File(application.getRealPath("RptContratoCliente3. jasper"));
String DRIVER = "oracle.jdbc.driver.OracleDriver";
String URL = "jdbc:oracle:thin:@192.168.1.52:1521:finasist" ;
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL);
Map parameters = new HashMap();
parameters.put("prmBasedir", "C:\\");
//parameters.put("BaseDir", reportFile.getParentFile());
//JasperPrint jasperPrint = JasperFillManager.fillReport(reportFile.toString() ,parameters);
JasperPrint jasperPrint = JasperFillManager.fillReport("C:\\RptContratoClien te3.jasper",parameters, conn);
System.out.println(String.valueOf(jasperPrint));
/*JasperViewer jviewer = new JasperViewer(jasperPrint,false);
jviewer.show();*/
byte[] bytes = JasperRunManager.runReportToPdf("C:\\RptContratoCl iente3.jasper", parameters, conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
</body>
</html>
Gracias porque hen verdad me han sido de utilidad (es por eso que recurro hoy a ustedes)