Hi

I have created a report such that when a particular parameter (example:- Country) passed from a report in a higher level has value 0, then a column should come up in the report as "Country". But if the parameter value is other than 0, then the report header will have a [Country: <Value corresponding to the parameter value in the database>] and the column will be hidden. I wasnt able to get the "invisible-consumes-space" work for some reason, so I put "IF" expression in visibility,width and font (since the font was taking up some space too).

When I generated the report, I got the html (paginated), excel as I had expected it would be. But when I am trying to get the pdf, I am not able to get the generate it. Error comes up saying, "Failed to generate pdf". Below is the the error as in the log files:-

15:28:29,076 ERROR [AbstractReportProcessor] 479561838: Report processing failed.
org.pentaho.reporting.engine.classic.core.ReportProcessingException: Content-Processing failed.
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.processPage(AbstractReportProcessor.java:1390)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.processReport(AbstractReportProcessor.java:1443)
at org.pentaho.reporting.platform.plugin.output.PDFOutput.generate(PDFOutput.java:57)
at org.pentaho.reporting.platform.plugin.SimpleReportingComponent.execute(SimpleReportingComponent.java:948)
at org.pentaho.reporting.platform.plugin.ExecuteReportContentHandler.createReportContent(ExecuteReportContentHandler.java:161)
at org.pentaho.reporting.platform.plugin.ReportContentGenerator.createContent(ReportContentGenerator.java:96)
at org.pentaho.platform.engine.services.solution.SimpleContentGenerator.createContent(SimpleContentGenerator.java:60)
at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutput.generateContent(GeneratorStreamingOutput.java:236)
at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutput.write(GeneratorStreamingOutput.java:163)
at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutputProvider.writeTo(GeneratorStreamingOutputProvider.java:54)
at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutputProvider.writeTo(GeneratorStreamingOutputProvider.java:33)
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at org.pentaho.platform.web.servlet.JAXRSServlet.service(JAXRSServlet.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.pentaho.platform.web.servlet.JAXRSServlet.service(JAXRSServlet.java:114)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.PentahoWebContextFilter.doFilter(PentahoWebContextFilter.java:185)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.PentahoRequestContextFilter.doFilter(PentahoRequestContextFilter.java:87)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399)
at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:191)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
at org.pentaho.platform.web.http.security.PentahoBasicProcessingFilter.doFilterHttp(PentahoBasicProcessingFilter.java:115)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.pentaho.platform.web.http.filters.HttpSessionPentahoSessionIntegrationFilter.doFilter(HttpSessionPentahoSessionIntegrationFilter.java:263)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188)
at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.SystemStatusFilter.doFilter(SystemStatusFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:114)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.WebappRootForwardingFilter.doFilter(WebappRootForwardingFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.pentaho.platform.web.http.filters.PentahoPathDecodingFilter.doFilter(PentahoPathDecodingFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.pentaho.reporting.engine.classic.core.layout.output.ContentProcessingException: Failed to generate PDF document
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfOutputProcessor.processPhysicalPage(PdfOutputProcessor.java:125)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.base.AbstractPageableOutputProcessor.processPageContent(AbstractPageableOutputProcessor.java:89)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractOutputProcessor.processContent(AbstractOutputProcessor.java:173)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.base.PageableRenderer.performPagination(PageableRenderer.java:165)
at org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer.processPage(AbstractRenderer.java:485)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.processPage(AbstractReportProcessor.java:1301)
... 89 more
Caused by: java.lang.IllegalArgumentException: Font size too small: 0.0
at com.lowagie.text.pdf.PdfContentByte.setFontAndSize(Unknown Source)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfLogicalPageDrawable.drawText(PdfLogicalPageDrawable.java:357)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.drawText(LogicalPageDrawable.java:1236)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.processOtherNode(LogicalPageDrawable.java:954)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:139)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:122)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.processTextLine(LogicalPageDrawable.java:820)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.processParagraphChilds(LogicalPageDrawable.java:789)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfLogicalPageDrawable.processParagraphChilds(PdfLogicalPageDrawable.java:448)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:93)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:128)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:51)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:51)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:51)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.startProcessing(IterateStructuralProcessStep.java:109)
at org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep.processBoxChilds(IterateStructuralProcessStep.java:198)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.processRootBand(LogicalPageDrawable.java:447)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.LogicalPageDrawable.draw(LogicalPageDrawable.java:403)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfLogicalPageDrawable.draw(PdfLogicalPageDrawable.java:193)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.internal.PhysicalPageDrawable.draw(PhysicalPageDrawable.java:120)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfDocumentWriter.processPhysicalPage(PdfDocumentWriter.java:321)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfOutputProcessor.processPhysicalPage(PdfOutputProcessor.java:123)
... 94 more





When no data is returned, the pdf is getting generated without any problems.

Please give your valuable suggestions on how to go on regarding this.

Thank you
Vishnu