Page 1 of 1

Error converting Docx to Pdf

PostPosted: Tue Aug 04, 2015 5:58 pm
by Sergio
Hi all,
I'm working on an App that makes a Docx programatically and everything Works fine but when exporting to Pdf I get some exceptions.

Code: Select all
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Exception executing transformer: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:215)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:158)
   at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:139)
   at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:47)
   at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:81)
   ... 50 more
Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:502)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:211)
   ... 54 more
Caused by: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
   at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58)
   at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
   at com.sun.proxy.$Proxy36.missingChildElement(Unknown Source)
   at org.apache.fop.fo.FONode.missingChildElementError(FONode.java:575)
   at org.apache.fop.fo.pagination.StaticContent.endOfNode(StaticContent.java:57)
   at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:347)
   at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:181)
   at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
   at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
   at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
   at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
   ... 55 more
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">1.</fo:inline>
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">2.</fo:inline>
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">2.1.</fo:inline>
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">2.2.</fo:inline>
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">3.</fo:inline>
<fo:inline xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri">4.</fo:inline>
org.docx4j.openpackaging.exceptions.Docx4JException: Exception exporting package
   at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:96)
   at org.docx4j.Docx4J.toFO(Docx4J.java:467)
   at com.soluzionasf.sato.client.gui.informes.temporales.export.pdf.ExportadorTemporalPdf.exportar(ExportadorTemporalPdf.java:115)
   at com.soluzionasf.sato.client.gui.informes.temporales.panels.ListadoTemporalPanelAct$ExportarAction.actionPerformed(ListadoTemporalPanelAct.java:182)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
   at java.awt.Component.processMouseEvent(Component.java:6297)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
   at java.awt.Component.processEvent(Component.java:6062)
   at java.awt.Container.processEvent(Container.java:2039)
   at java.awt.Component.dispatchEventImpl(Component.java:4660)
   at java.awt.Container.dispatchEventImpl(Container.java:2097)
   at java.awt.Component.dispatchEvent(Component.java:4488)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
   at java.awt.Container.dispatchEventImpl(Container.java:2083)
   at java.awt.Window.dispatchEventImpl(Window.java:2489)
   at java.awt.Component.dispatchEvent(Component.java:4488)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
   at java.awt.EventQueue.access$400(EventQueue.java:81)
   at java.awt.EventQueue$2.run(EventQueue.java:633)
   at java.awt.EventQueue$2.run(EventQueue.java:631)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$3.run(EventQueue.java:647)
   at java.awt.EventQueue$3.run(EventQueue.java:645)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Exception executing transformer: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:215)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:158)
   at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:139)
   at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:47)
   at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:81)
   ... 40 more
Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:502)
   at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:211)
   ... 44 more
Caused by: org.apache.fop.fo.ValidationException: "fo:static-content" is missing child elements. Required content model: (%block;)+ (See position 1:1349)
   at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
   at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58)
   at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
   at com.sun.proxy.$Proxy36.missingChildElement(Unknown Source)
   at org.apache.fop.fo.FONode.missingChildElementError(FONode.java:575)
   at org.apache.fop.fo.pagination.StaticContent.endOfNode(StaticContent.java:57)
   at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:347)
   at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:181)
   at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
   at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
   at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
   at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
   at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
   ... 45 more


I'm newbie and also I'm lost, any help or tip would be highly appreciated.

Thanks for all your work.

Re: Error converting Docx to Pdf

PostPosted: Tue Aug 04, 2015 7:59 pm
by jason
minimal sample docx which evidences the issue?

Re: Error converting Docx to Pdf

PostPosted: Tue Aug 04, 2015 8:10 pm
by Sergio
jason wrote:minimal sample docx which evidences the issue?

Of course, this is the doc that shows that exceptions.
Zoran.docx
Problematic Doc File
(370.16 KiB) Downloaded 335 times

Re: Error converting Docx to Pdf

PostPosted: Tue Aug 11, 2015 7:19 pm
by jason
When I convert your docx to pdf via FOP, I get a different issue, to do with the images which look like equations:

Code: Select all
ERROR org.apache.fop.apps.FOUserAgent .processEvent line 101 - Error while rendering page 9. Reason: java.lang.NullPointerException: Parameter alpha must not be null
java.lang.NullPointerException: Parameter alpha must not be null
   at org.apache.fop.pdf.AlphaRasterImage.<init>(AlphaRasterImage.java:57)
   at org.apache.fop.pdf.AlphaRasterImage.<init>(AlphaRasterImage.java:71)
   at org.apache.fop.render.pdf.ImageRenderedAdapter.setup(ImageRenderedAdapter.java:127)
   at org.apache.fop.pdf.PDFDocument.addImage(PDFDocument.java:816)
   at org.apache.fop.render.pdf.AbstractPDFImageHandler.handleImage(AbstractPDFImageHandler.java:46)
   at org.apache.fop.render.pdf.PDFImageHandlerRenderedImage.handleImage(PDFImageHandlerRenderedImage.java:32)
   at org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:228)
   at org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:184)
   at org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingImageHandler(AbstractIFPainter.java:149)
   at org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingURI(AbstractIFPainter.java:271)
   at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:150)
   at org.apache.fop.render.intermediate.IFRenderer.drawImage(IFRenderer.java:1272)
   at org.apache.fop.render.intermediate.IFRenderer.renderImage(IFRenderer.java:1259)


In Plutext's commercial renderer at http://converter-eval.plutext.com/plutext/converter
those images come out black.