Hola muchachos, se me presento la necesidad de generar reportes con formato pdf y xls (Excel de OpenOffice).
actualmente e generado reportes desde una aplicación en java haciendo uso los ficheros .jasper generados por el iReport, generando la salida con el JasperViwer (opción por defecto).
para generar una salida con formato PDF y xls deduje que tenia que compilar desde el iReport el reporte con cada uno de estos formatos, configurando esta opción desde barrar de
erramientas->Build->formato de reporte, con la finalidad de que se genere el fichero con cada una de estas extensiones, pero luego cuando los invoco desde la aplicación no invoca a los ficheros con dicho formato, aqui esta el codigo que utilizo con las exepciones que arroja:
Definición de variables
//Declaracion de variables
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
JasperPrint reporte = null;
//Declaracion de la ubicacion de recursos
private String viwer = "/home/colmejhor/iReport-1.3.3/bin/ReporteUno.jasper";
private String pdf = "/home/colmejhor/iReport-1.3.3/bin/ReporteUno.pdf";
private String doc = "/home/colmejhor/iReport-1.3.3/bin/ReporteUno.xls";
Cargando El PDF
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/universidad", "jhorland", "050984infodios");
//Parametro a enviar al reporte
Map parametro = new HashMap();
parametro.put("P_cedula", "1");
//Variable JasperPrint
reporte = JasperFillManager.fillReport(viwer, parametro ,conn);
JasperExportManager.exportReportToPdfFile(reporte, pdf);
}catch(JRException e){
}
catch(SQLException e){
}
catch(ClassNotFoundException e){
}
--------------------------------------------------
Exception in thread "AWT-EventQueue-0" net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : flatline.ttf
pdfEncoding : Cp1252
isPdfEmbedded : false
at net.sf.jasperreports.engine.export.JRPdfExporter.g etFont(JRPdfExporter.java:1488)
at net.sf.jasperreports.engine.export.JRPdfExporter.g etChunk(JRPdfExporter.java:1391)
at net.sf.jasperreports.engine.export.JRPdfExporter.g etPhrase(JRPdfExporter.java:1374)
at net.sf.jasperreports.engine.export.JRPdfExporter.e xportText(JRPdfExporter.java:1731)
at net.sf.jasperreports.engine.export.JRPdfExporter.e xportElements(JRPdfExporter.java:613)
at net.sf.jasperreports.engine.export.JRPdfExporter.e xportPage(JRPdfExporter.java:577)
at net.sf.jasperreports.engine.export.JRPdfExporter.e xportReportToStream(JRPdfExporter.java:520)
at net.sf.jasperreports.engine.export.JRPdfExporter.e xportReport(JRPdfExporter.java:306)
at net.sf.jasperreports.engine.JasperExportManager.ex portReportToPdfFile(JasperExportManager.java:126)
at com.jhor.reporte.Ventana.pdfBotonActionPerformed(V entana.java:201)
at com.jhor.reporte.Ventana.access$100(Ventana.java:3 0)
at com.jhor.reporte.Ventana$2.actionPerformed(Ventana .java:80)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6038)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3260)
at java.awt.Component.processEvent(Component.java:580 3)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4410)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429 )
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
---------------------------------------
Cargando el XLS
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/universidad", "jhorland", "050984infodios");
//Parametro a enviar al reporte
Map parametro = new HashMap();
parametro.put("P_cedula", "1");
//Variable JasperPrint
reporte = JasperFillManager.fillReport(viwer, parametro ,conn);
JRXlsExporter esportador = new JRXlsExporter();
esportador.setParameter(JRExporterParameter.JASPER _PRINT, reporte);
esportador.setParameter(JRExporterParameter.OUTPUT _FILE_NAME, doc);
esportador.setParameter(JRXlsExporterParameter.IS_ ONE_PAGE_PER_SHEET, Boolean.TRUE);
esportador.exportReport();
}catch(JRException e){
}
catch(SQLException e){
}
catch(ClassNotFoundException e){
}
---------------------------------------
No arroja excepciones pero no muestra el reporte este formato
les agradezco toda la ayuda posible.