Xwiki Export to pdf using ?format=pdf&includechilds=3

Hello Community,

im trying to export a xwiki space to pdf, with the url /xwiki/bin/export/space?ormat=pdf&includechilds=2&pagebreaks=1 it works just fine but as soon as i defined includechilds=3 it failes with below error, any idea how this can be fixed?

Caused by: java.lang.ClassCastException: class org.apache.xmlgraphics.image.loader.impl.ImageRawPNG cannot be cast to class org.apache.xmlgraphics.image.loader.impl.ImageRendered (org.apache.xmlgraphics.image.loader.impl.ImageRawPNG and org.apache.xmlgraphics.image.loader.impl.ImageRendered are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader

Thank you

Hi, first this seems to mean you’re still using the old PDF Export (FOP-based), what version of XWiki are you on?

FTR, the new PDF export (client-side) doesn’t support those parameters, see:

Now back to your problem, in order to try to help you, we would need:

  • The full stack trace
  • How to reproduce it (ie the max details on your XWiki config like java version, xwiki version, etc).

Thanks

Hi,

thanks for the quick answer. Im running a remote chrome to fullfill the request.
Xwiki Version is 15.10.13
Java: java-11-openjdk-11.0.25.0.9-2.el8.x86_64
OS: RHEL 8.10
Webserver: JBOSS Tomcat jws5
Stacktrace:

Nov 20 server[1000898]: com.xpn.xwiki.XWikiException: Error number 11015 in 11: Exception while exporting
Nov 20 server[1000898]:         at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:100)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:637)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:108)
Nov 20 server[1000898]:         at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 server[1000898]:         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
Nov 20 server[1000898]:         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
Nov 20 server[1000898]:         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
Nov 20 server[1000898]:         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
Nov 20 server[1000898]:         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
Nov 20 server[1000898]:         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
Nov 20 server[1000898]:         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
Nov 20 server[1000898]:         at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765)
Nov 20 server[1000898]:         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
Nov 20 server[1000898]:         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
Nov 20 server[1000898]:         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
Nov 20 server[1000898]:         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
Nov 20 server[1000898]:         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1786)
Nov 20 server[1000898]:         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
Nov 20 server[1000898]:         at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
Nov 20 server[1000898]:         at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
Nov 20 server[1000898]:         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
Nov 20 server[1000898]:         at java.base/java.lang.Thread.run(Thread.java:829)
Nov 20 server[1000898]: Caused by: com.xpn.xwiki.XWikiException: Error number 12002 in 12: Exception while exporting pdf
Nov 20 server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.createException(PdfExportImpl.java:534)
Nov 20 server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.renderXSLFO(PdfExportImpl.java:279)
Nov 20 server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.exportXHTML(PdfExportImpl.java:230)
Nov 20 server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.exportHtml(PdfExportImpl.java:183)
Nov 20 server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.export(PdfExportImpl.java:169)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.ExportAction.export(ExportAction.java:191)
Nov 20 server[1000898]:         at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:97)
Nov 20 server[1000898]:         ... 45 common frames omitted
Nov 20 13:30:30 servername server[1000898]: ERROR:  'class org.apache.xmlgraphics.image.loader.impl.ImageRawPNG cannot be cast to class org.apache.xmlgraphics.image.loader.impl.ImageRendered (org.apache.xmlgraphics.image.loader.impl.ImageRawPNG and org.apache.xmlgraphics.image.loader.impl.ImageRendered are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @2f19f2aa)'
Nov 20 13:30:30 servername server[1000898]: 2024-11-20 13:30:30,313 [http-nio-8080-exec-40 - https://xwikurl?format=pdf&includechilds=3&pagebreaks=1] WARN  c.x.x.w.XWikiAction            - Uncaught exception: Error number 11015 in 11: Exception while exporting
Nov 20 13:30:30 servername server[1000898]: com.xpn.xwiki.XWikiException: Error number 11015 in 11: Exception while exporting
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:100)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:637)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:108)
Nov 20 13:30:30 servername server[1000898]:         at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:179)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:154)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1786)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
Nov 20 13:30:30 servername server[1000898]:         at java.base/java.lang.Thread.run(Thread.java:829)
Nov 20 13:30:30 servername server[1000898]: Caused by: com.xpn.xwiki.XWikiException: Error number 12002 in 12: Exception while exporting pdf
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.createException(PdfExportImpl.java:534)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.renderXSLFO(PdfExportImpl.java:279)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.exportXHTML(PdfExportImpl.java:230)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.exportHtml(PdfExportImpl.java:183)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.export(PdfExportImpl.java:169)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.ExportAction.export(ExportAction.java:191)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:97)
Nov 20 13:30:30 servername server[1000898]:         ... 45 common frames omitted
Nov 20 13:30:30 servername server[1000898]: Caused by: javax.xml.transform.TransformerException: java.lang.ClassCastException: class org.apache.xmlgraphics.image.loader.impl.ImageRawPNG cannot be cast to class org.apache.xmlgraphics.image.loader.impl.ImageRendered (org.apache.xmlgraphics.image.loader.impl.ImageRawPNG and org.apache.xmlgraphics.image.loader.impl.ImageRendered are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @2f19f2aa)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:784)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:371)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.internal.pdf.FOPXSLFORenderer.render(FOPXSLFORenderer.java:155)
Nov 20 13:30:30 servername server[1000898]:         at com.xpn.xwiki.pdf.impl.PdfExportImpl.renderXSLFO(PdfExportImpl.java:275)
Nov 20 13:30:30 servername server[1000898]:         ... 50 common frames omitted
Nov 20 13:30:30 servername server[1000898]: Caused by: java.lang.ClassCastException: class org.apache.xmlgraphics.image.loader.impl.ImageRawPNG cannot be cast to class org.apache.xmlgraphics.image.loader.impl.ImageRendered (org.apache.xmlgraphics.image.loader.impl.ImageRawPNG and org.apache.xmlgraphics.image.loader.impl.ImageRendered are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @2f19f2aa)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.pdf.AbstractImageAdapter.populateXObjectDictionaryForIndexColorModel(AbstractImageAdapter.java:284)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.pdf.ImageRawPNGAdapter.populateXObjectDictionary(ImageRawPNGAdapter.java:275)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFImageXObject.populateDictionaryFromImage(PDFImageXObject.java:148)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFImageXObject.populateStreamDict(PDFImageXObject.java:88)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.AbstractPDFStream.output(AbstractPDFStream.java:237)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFImageXObject.output(PDFImageXObject.java:73)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFDocument.outputIndirectObject(PDFDocument.java:1053)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFDocument.streamIndirectObject(PDFDocument.java:1018)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.pdf.PDFDocument.output(PDFDocument.java:994)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.pdf.PDFContentGenerator.flushPDFDoc(PDFContentGenerator.java:155)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.pdf.PDFPainter.flushPDFDoc(PDFPainter.java:298)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:183)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.drawImage(IFRenderer.java:1294)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderImage(IFRenderer.java:1281)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineViewport(AbstractRenderer.java:860)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractPathOrientedRenderer.renderInlineViewport(AbstractPathOrientedRenderer.java:831)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineViewport(IFRenderer.java:862)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:717)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:926)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineParent(AbstractRenderer.java:824)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineParent(IFRenderer.java:943)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:711)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:926)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineParent(AbstractRenderer.java:824)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineParent(IFRenderer.java:943)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:711)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:926)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:692)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:573)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:615)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:558)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:615)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:558)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:615)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:558)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:615)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:558)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:615)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:998)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:558)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:459)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractPathOrientedRenderer.renderFlow(AbstractPathOrientedRenderer.java:784)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:436)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:360)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:307)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderRegionViewport(IFRenderer.java:737)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:272)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:245)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.render.intermediate.IFRenderer.renderPage(IFRenderer.java:587)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.area.RenderPagesModel.renderPage(RenderPagesModel.java:193)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.area.RenderPagesModel.checkPreparedPages(RenderPagesModel.java:174)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.area.RenderPagesModel.endDocument(RenderPagesModel.java:258)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.area.AreaTreeHandler.endDocument(AreaTreeHandler.java:342)
Nov 20 13:30:30 servername server[1000898]:         at org.apache.fop.fo.FOTreeBuilder.endDocument(FOTreeBuilder.java:170)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endDocument(ToXMLSAXHandler.java:183)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:746)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:539)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:661)
Nov 20 13:30:30 servername server[1000898]:         at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:775)
Nov 20 13:30:30 servername server[1000898]:         ... 53 common frames omitted

The reason why im using this old exporter is that i didnt get the scripting service working as described here: https://extensions.xwiki.org/xwiki/bin/view/Extension/PDF%20Export%20Application/#HDifferencesbetweenviewmodeandPDFexport

i guess you are right about this one: Loading.... That would simplify it. I didnt notice your link earlier because the forum just displays “loading” on the jira links, that makes it hard to read

Hi, do you recall what didn’t work? What was the problem? Did you get any errors?

Thanks,
Marius

so basically i tried to follow the scripting service and added a velocity macro to a new page as described in the docs:

{{velocity}}
## Create a PDF export job request based on the current servlet request.
#set ($pdfExportJobRequest = $services.export.pdf.createRequest())

## Customize the PDF export job request:
#set ($discard = $pdfExportJobRequest.setDocuments($documentReferenceList))
#set ($discard = $pdfExportJobRequest.setTemplate($templateDocumentReference))
#set ($discard = $pdfExportJobRequest.setWithCover(true))
#set ($discard = $pdfExportJobRequest.setWithToc(false))
#set ($discard = $pdfExportJobRequest.setWithHeader(true))
#set ($discard = $pdfExportJobRequest.setWithFooter(false))
#set ($discard = $pdfExportJobRequest.setWithTitle(true))
#set ($discard = $pdfExportJobRequest.setServerSide(true))
#set ($discard = $pdfExportJobRequest.setFileName('myCool.pdf'))

## Trigger the PDF export job and wait for it to finish.
#set ($pdfExportJob = $services.export.pdf.execute($pdfExportJobRequest))
#set ($discard = $pdfExportJob.join())

## Get the PDF file reference from the job status.
#set ($pdfExportJobStatus = $pdfExportJob.status)
#set ($pdfFileReference = $pdfExportJobStatus.getPDFFileReference())
#if ($services.resource.temporary.exists($pdfFileReference))
  #set ($pdfFileURL = $services.resource.temporary.getURL($pdfFileReference))

  ## Redirect the user to the generated PDF file.
  #set ($discard = $response.sendRedirect($pdfFileURL))
#end
{{/velocity}}

The page just loads and does nothing, when i look into the perm dir i can see that something is triggered:

ll /xWiki_data/data/jobs/status/export/pdf/1732172245747-929
total 12
-rw-r-----. 1 tomcat tomcat 17 Nov 21 07:57 log.index
-rw-r-----. 1 tomcat tomcat 2218 Nov 21 07:57 log.xml
-rw-r-----. 1 tomcat tomcat 2740 Nov 21 07:57 status.xml.zip

However i was expecting to get some kind of json reply which i can use to integrate into ansible to automate the pdf export on a daily basis. However i think that i just don’t understand the documentation or it needs to be explained in more detail how to use the scripting service.

Is there any example velocity script which returns eg. the id which i can then use to download the pdf? Maybe it would be useful to elaborate the document

Thank you in advance

Hi, in your script you are using two Velocity variable that control:

  • the pages to export: $documentReferenceList
  • the PDF template to use: $templateDocumentReference

Are you setting these variables somewhere? It’s not part of the script you pasted. I tried this on a clean XWiki 16.10.0RC1 instance:

{{velocity}}
#set ($documentReferenceList = [])
#foreach ($page in $request.getParameterValues('page'))
  #set ($discard = $documentReferenceList.add($services.model.resolveDocument($page)))
#end
## Don't trigger the export if there are no pages to export.
#if (!$documentReferenceList.isEmpty())
  #set ($templateDocumentReference = $request.template)
  #if ("$!templateDocumentReference" == '')
    ## Default PDF export template.
    #set ($templateDocumentReference = 'XWiki.PDFExport.Template')
  #end
  #set ($templateDocumentReference = $services.model.resolveDocument($templateDocumentReference))

  YOUR SCRIPT HERE (the one you pasted)
#end
{{/velocity}}

Then, if I open the URL http:///xwiki/bin/view/MyPDFExportService/?page=Sandbox.WebHome I get the PDF, of course after a few seconds that are needed to generate the PDF. So the script you pasted works fine.

If your wiki configured to use the Chrome Docker container or a remote Chrome to generate the PDF. See https://extensions.xwiki.org/xwiki/bin/view/Extension/PDF%20Export%20Application/#HPDFGenerator . This line

#set ($discard = $pdfExportJobRequest.setServerSide(true))

means the export is done server-side. But the export needs a web browser to generate the PDF, so if the export is done server-side it thus needs a web browser server-side, either running in a Docker container, or directly on the XWiki server, or on another machine.

You can’t expose the PDF export as a service (CLI) without being able to generate the PDFs server side. So the first step is to make sure your wiki is able to generate PDF server-side, by configuring https://extensions.xwiki.org/xwiki/bin/view/Extension/PDF%20Export%20Application/#HPDFGenerator .

Hi,

thanks for your feedback, with those parameters and modified url i now get a pdf.
But its empty. Can you test on 15.10.13?
Thank you

i have a working headless chrome running in a systemd unit. Normal pdf exports work just fine.