Java - MOSTRAR REPORTE EN FORMATO PDF

 
Vista:

MOSTRAR REPORTE EN FORMATO PDF

Publicado por alejandro (1 intervención) el 16/06/2007 20:01:19
Hola:

Bueno lo que estoy tratando de hacer es llamar un reporte pdf desde codigo java, mo codigo es el siguiente:

try {
//Conexion a base de datos sql server
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://IPVG-MDZJN0AZ1G:1433;DatabaseName=sigaltda", "sa", "");

//Pasamos parametros al reporte Jasper.
Map parameters = new HashMap();
parameters.put("sql_query", new String("select rut_cliente from clientes"));
//Compilado de fichero .jrxml
JasperReport report = JasperCompileManager.compileReport("D:\\Archivos de programa\\Java\\jdk1.6.0_01\\jre\\lib\\ext\\Reporte_Sin_Titulo_1.jrxml");
//Rellenar el informe con datos
JasperPrint print = JasperFillManager.fillReport(report, parameters, connection);
// Exporta el informe a PDF
JasperExportManager.exportReportToPdfFile(print,"D:\\iReport-1.3.1\\iReport-1.3.1\\Reporte_Sin_Titulo_1.pdf");
//Para visualizar el pdf directamente desde java
JasperViewer.viewReport(print, false);

PERO ME SALE EL SIGUIENTE ERROR:

Error compiling report java source files : D:\ejemplos java\reporte_pdf\Reporte_Sin_Titulo_1_1182017415968_222620.java

SI ALGUIEN TIENE OTRO CODIGO PARA LLAMAR Y MOSTAR UN REPORTE PDF SE LO AGRADECERIA O SI ME PUEDEN AYUDAR CON ESTE CODIGO MEJOR.

HE PROBADO CON OTROS CODIGOS SIMILARES, QUE ME CORREN SIN PROBLEMA, PERO SIEMPRE ME LOS MUESTRA CON EL JASPERVIEWER YO QUIERO QUE ME LOS MUESTRE CON EL ACROBAT READER

LO OTRO ES QUE DESDE IREPORT ME COMPILA SIN PROBLEMAS

BUENO ESO
HASTA PRONTO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MOSTRAR REPORTE EN FORMATO PDF

Publicado por Cecilia (4 intervenciones) el 20/06/2007 06:57:25
Hola Alejandro

Ese error te da porque te falta una librería en el classpath. Tienes que incluir jdt-compiler-{version}.jar

Ojala te sirva. Cualquier cosa me avisas, a mi me sirvió y me genera el reporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MOSTRAR REPORTE EN FORMATO PDF

Publicado por alejandro (5 intervenciones) el 20/06/2007 19:23:22
Hola Cecilia, gracias por responder, te cuento ya solucioné el problema del error, era exactamente problema de librerias, pero ahora el asunto es que me sigue abriendo el reporte con el jasperviewer y no con le acrobat reader como yo quiero.

A ti te abre el reporte con el acrobat??????

Bueno eso

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MOSTRAR REPORTE EN FORMATO PDF

Publicado por Cecilia (4 intervenciones) el 22/06/2007 00:06:41
Hola Alejandro,

A mi me abre el reporte en jasperviewer y me guarda el PDF en el destino que le inidico.

Pero tengo un error, y no se que será. Me abre el reporte en blanco y me sale el mensaje de que el reporte no tiene paginas. Yo quiero llenarlo con una consulta de la base de datos.

No estoy muy segura como hacer eso y de usar esta funcion: paramenters.put

Esto es lo que tu haces:

//Pasamos parametros al reporte Jasper.
Map parameters = new HashMap();
parameters.put("sql_query", new String("select rut_cliente from clientes"));

Ahi tu estas llenando tu reporte con esa consulta?? y que es ese "sql_query"??

Y otra cosita en el JasperReport:

JasperReport report = JasperCompileManager.compileReport("D:\\Archivos de programa\\Java\\jdk1.6.0_01\\jre\\lib\\ext\\Reporte_Sin_Titulo_1.jrxml");

de donde sacas ese archivo jrxml, yo estoy usando uno que me consegui por ahi pero no se si por eso el reporte me esta saliendo en blanco.

Si me puedes ayudar por favor, te lo agradecería mucho.

Aqui abajo te paso mi codigo, si lo quieres ver. GRACIAS

CECI


public class Reporte
{
private static JasperReport jasperReport;
private static JasperPrint jasperPrint;
//private static Map <String, ResultSet> parameters = new HashMap <String, ResultSet>();
private static Map <String, String> parameters = new HashMap <String, String>();
private static Connection conn = null;

public static Connection dataSource()
{
try
{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
Context context = new InitialContext(env);

DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/otiDS");
System.out.println("El DataSource es: " + dataSource.toString());
conn = dataSource.getConnection();
}
catch (SQLException e)
{
System.out.println("SQLException");
}
catch (NamingException e)
{
System.out.println("NamingException");
}
finally
{
if (conn != null)
{
try
{
conn.close();
}
catch (SQLException e)
{
System.out.println("SQLException");
}
}
}
return conn;
}

public static void reporte() throws SQLException
{
String rutaJR = "C:\\prueba\\JRXML\\Example14.jrxml";
String rutaDestino = "C:\\prueba\\JRXML\\ejemplo.pdf";
conn= dataSource();

/*Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT * FROM FCE");
*/
//Se pasan parametros al reporte Jasper
//parameters.put("sqlQuery", rs);
parameters.put("sqlQuery", "Prueba");

try
{
//Compilado de fichero .jrxml
jasperReport = JasperCompileManager.compileReport(rutaJR);

//Rellenar el informe con datos
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);

//Exporta el informe a PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, rutaDestino);

//Para visualizar el pdf directamente desde java
JasperViewer.viewReport(jasperPrint, false);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MOSTRAR REPORTE EN FORMATO PDF

Publicado por alejandro (5 intervenciones) el 22/06/2007 19:23:26
Hola ceci:

Mira yo tambien estoy empezando con esto de los reportes, pero mira haber si te puedo ayudar un poco:

1) el jrxml es el archivo que creaste con el ireport, en tu codigo debes poner la ruta donde guardaste este archivo
2) Lo otro : ¿te muestra los datos al compilar con el irerpot??? si no, lo que yo hice para mostrar los datos fue hacer la consulta en el mismo ireport(datos-consulta de informe),aca colocas "select * from fce" y en la seccion detail colocas el campo de texto que quieres mostrar.Si tienes dudas con eso me dices, a mi me muestra los datos sin problema:

aca te dejo un manual por si aca
http://www.4shared.com/file/18029809/deb8397a/manual_ireport1000.html

Aca hay un foro que te puede ser de ayuda

http://www.forosdelweb.com/showthread.php?t=280528

Ojala te haya ayudado de algo
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MOSTRAR REPORTE EN FORMATO PDF

Publicado por Cecilia (4 intervenciones) el 26/06/2007 02:24:52
Hola Alejandro

No, yo no he usado antes el ireport, el .jrxml me lo copie por ahi, no lo genere yo nunca. Estuve viendo un poco el manual que me diste y no vi por ningun lado que se crea un archivo .jrxml. Tengo que probar esto, cualquier cosita te pregunto,

Pero mil gracias por tu ayuda. Un besito

Ceci
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MOSTRAR REPORTE EN FORMATO PDF

Publicado por marcelo (1 intervención) el 26/05/2015 17:04:56
ya pasaron varios años y supongo que solucionaron el problema, llegue hasta aqui buscando lo mismo que tu.
Lo solucione de la siguiente manera:
/ Exporta el informe a PDF
JasperExportManager.exportReportToPdfFile(print,"D:\\iReport-1.3.1\\iReport-1.3.1\\Reporte_Sin_Titulo_1.pdf");
//Para visualizar el pdf directamente desde java
//JasperViewer.viewReport(print, false); saco esto para que no lo abra con el jasper report.

String file = new String("D:\\iReport-1.3.1\\iReport-1.3.1\\Reporte_Sin_Titulo_1.pdf");


//definiendo la ruta en la propiedad file
Runtime.getRuntime().exec("cmd /c start "+file);

esto te abre el archivo pdf generado en la aplicacion por defecto que tengas en el SO, Acrobat, Foxit Reader, etc.
si queres le agregas codigo para eliminar el archivo generado.
Espero que le sirva a alguien,
Saludos,
Marcelo C.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar