PDF en blanco incluso con el jrxml Jasperreport más simple

tengo un sitio EJB con glassfish 3.1 + JSF para jasperreport 4.0.1. el sitio no tiene problemas en la transmisión de PDF, pero produce PDF en blanco mientras imprime en PDF con runReportToPdfStream, a continuación se muestra el fragmento de código:

EJB

public class BookEJB { public void printReport() throws ClassNotFoundException, IOException, JRException { Map parameterMap = new HashMap(); FacesContext ctx = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) ctx.getExternalContext().getResponse(); InputStream reportStream = ctx.getExternalContext().getResourceAsStream("/reports/test.jasper"); ServletOutputStream servletOutputStream = response.getOutputStream(); servletOutputStream.flush(); response.setContentType("application/pdf"); JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap); servletOutputStream.flush(); servletOutputStream.close(); ctx.responseComplete(); }} 

test.jrxml – un informe simple sin conexión SQL

                                   

no hay error al iniciar sesión en glassfish al generar este informe en JSF, pero solo se ha mostrado PDF en blanco. Por favor ayuda, avísame si necesitas más información para el análisis.

Steven

Después de todo, JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap, new JREmptyDataSource()); resuelve el problema.

Cita de Sanda de Jasperreport:

De forma predeterminada, cuando no hay información de origen de datos presente en un informe, JR no genera páginas. Otra opción (que se puede establecer en el atributo whenNoDataType del informe) sería imprimir todas las secciones del informe, excepto el .

Este informe contiene una sección de detalles, pero solo con algunos datos estáticos. Para garantizar que esta sección se imprima también, la forma más simple es proporcionar una fuente de datos vacía, que contiene un solo registro vacío.

    Intereting Posts