Question

While trying to convert to PDF multiple times using the ConvertOutPDF sample :

try {
ConvertOutPDF.process(filelink, target_flavour_filelink);
} catch (Exception e) {
    e.printStackTrace();
}

where process looks essentially exactly like Jason's famous main this:

/**
 * Here the inputfilepath is obligatory. This also enforces that we don't have to check
 * for the inputfilepath being null.
 * Storing to a freely chosen OUT_FontConverted.xhtml+xml makes is less optimal for
 * production usage if we want to keep individual pdfs for each file. Otherwise a
 * standard export would only work if there are no semaphore issues, i.e. not many
 * processes writing to this one identical file.
 * 
 * @param inputfilepath
 * @throws Exception
 */
public static void process(String inputfilepath, String outputfilepath) throws Exception {
    AbstractSample.inputfilepath = inputfilepath;
    // Font regex (optional)
    // Set regex if you want to restrict to some defined subset of fonts
    // Here we have to do this before calling createContent,
    // since that discovers fonts
    String regex = null;
    // Windows:
    // String
    // regex=".*(calibri|cour|arial|times|comic|georgia|impact|LSANS|pala|tahoma|trebuc|verdana|symbol|webdings|wingding).*";
    // Mac
    // String
    // regex=".*(Courier New|Arial|Times New Roman|Comic Sans|Georgia|Impact|Lucida Console|Lucida Sans Unicode|Palatino Linotype|Tahoma|Trebuchet|Verdana|Symbol|Webdings|Wingdings|MS Sans Serif|MS Serif).*";
    PhysicalFonts.setRegex(regex);

    // Document loading (required)
    WordprocessingMLPackage wordMLPackage;
    if (inputfilepath == null) {
        // Create a docx
        System.out.println("No input path passed, creating dummy document");
         wordMLPackage = WordprocessingMLPackage.createPackage();
         //TODO fix this -- ONLY RELEVANT FOR standalone use, that is using main() above.
         //SampleDocument.createContent(wordMLPackage.getMainDocumentPart());   
    } else {
        // Load .docx or Flat OPC .xml
        System.out.println("Loading file from " + inputfilepath);
        wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
    }

    // Set up font mapper (optional)
    Mapper fontMapper = new IdentityPlusMapper();
    wordMLPackage.setFontMapper(fontMapper);
    // .. example of mapping missing font Algerian to installed font Comic Sans MS
    PhysicalFont font 
            = PhysicalFonts.getPhysicalFonts().get("Comic Sans MS");
    fontMapper.getFontMappings().put("Algerian", font);


    // FO exporter setup (required)
    // .. the FOSettings object
    FOSettings foSettings = Docx4J.createFOSettings();
    if (saveFO) {
        foSettings.setFoDumpFile(new java.io.File(inputfilepath + ".fo"));
    }
    foSettings.setWmlPackage(wordMLPackage);
    // Document format: 
    // The default implementation of the FORenderer that uses Apache Fop will output
    // a PDF document if nothing is passed via 
    // foSettings.setApacheFopMime(apacheFopMime)
    // apacheFopMime can be any of the output formats defined in org.apache.fop.apps.MimeConstants or
    // FOSettings.INTERNAL_FO_MIME if you want the fo document as the result.
    //foSettings.setApacheFopMime(FOSettings.INTERNAL_FO_MIME);

    // exporter writes to an OutputStream.      
    OutputStream os = new java.io.FileOutputStream(outputfilepath);


    //Don't care what type of exporter you use
    Docx4J.toFO(foSettings, os, Docx4J.FLAG_NONE);
    //Prefer the exporter, that uses a xsl transformation
    //Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);
    //Prefer the exporter, that doesn't use a xsl transformation (= uses a visitor)
    //Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_NONXSL);

    System.out.println("Saved to: " + outputfilepath);
}

The following error occurs:

795336 DEBUG o.d.m.s.StyleTree         - Adding 'Standard' to paragraph tree
795336 DEBUG o.d.m.s.StyleTree         - Standard
795336 DEBUG o.d.m.s.StyleTree         - ..based on DocDefaults
795336 DEBUG o.d.m.s.StyleTree         - Absatz-Standardschriftart
795336 DEBUG o.d.m.s.StyleTree         - Style Absatz-Standardschriftart is not based on anything.
795337 DEBUG o.d.c.o.c.AbstractConversionContext - Create conversion context, 6ms
795337 DEBUG o.d.j.NamespacePrefixMapperUtils - attempting to setProperty: com.sun.xml.INTERNAL.bind.namespacePrefixMapper
    ...
795425 DEBUG o.d.j.NamespacePrefixMapperUtils - attempting to setProperty: com.sun.xml.INTERNAL.bind.namespacePrefixMapper
795428 ERROR o.d.c.o.c.AbstractConversionContext - Exception exporting package
java.lang.NullPointerException: null
    at org.apache.xml.serializer.OutputPropertiesFactory.getDefaultMethodProperties(OutputPropertiesFactory.java:260) ~[serializer-2.7.1.jar:2.7.1]
    at org.apache.xalan.templates.OutputProperties.<init>(OutputProperties.java:83) ~[xalan-2.7.1.jar:na]
    at org.apache.xalan.transformer.TransformerIdentityImpl.<init>(TransformerIdentityImpl.java:88) ~[xalan-2.7.1.jar:na]
    at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:823) ~[xalan-2.7.1.jar:na]
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.createTransformer(JAXBContextImpl.java:709) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.getIdentityTransformer(XMLSerializer.java:802) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.writeDom(XMLSerializer.java:794) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.serializeListBody(ArrayReferenceNodeProperty.java:101) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:144) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:341) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:54) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:157) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:144) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:341) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:582) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:323) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:483) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308) ~[na:1.7.0_03]
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236) ~[na:1.7.0_03]
    at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:130) ~[na:1.7.0_03]
    at org.docx4j.XmlUtils.marshaltoW3CDomDocument(XmlUtils.java:671) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.convert.out.common.WmlXsltExporterDelegate.getSourceDocument(WmlXsltExporterDelegate.java:48) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.convert.out.common.AbstractXsltExporterDelegate.process(AbstractXsltExporterDelegate.java:56) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:63) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:32) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:71) ~[docx4j-nightly-20140123.jar:na]
    at org.docx4j.Docx4J.toFO(Docx4J.java:467) [docx4j-nightly-20140123.jar:na]
    at docx4j_library.ConvertOutPDF.process(ConvertOutPDF.java:170) [ConvertOutPDF.class:na]
    at converter.Converter.docx2pdf(Converter.java:239) [Converter.class:na]
    at aufgaben_db.Global.convertFile(Global.java:2711) [Global.class:na]
    at db.UnixComandosThread.d_o(UnixComandosThread.java:180) [UnixComandosThread.class:na]
    at db.UnixComandosThread.d_o(UnixComandosThread.java:101) [UnixComandosThread.class:na]
    at org.apache.jsp.action_upload_jsp._jspService(action_upload_jsp.java:326) [aufgaben_db_v15/:na]
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) [catalina.jar:6.0.35]
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) [jasper.jar:6.0.35]
    at org.apache.jsp.action_inc_jsp._jspService(action_inc_jsp.java:290) [aufgaben_db_v15/:na]
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) [catalina.jar:6.0.35]
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) [jasper.jar:6.0.35]
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:213) [aufgaben_db_v15/:na]
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) [jasper.jar:6.0.35]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) [jasper.jar:6.0.35]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:6.0.35]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.35]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:6.0.35]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:6.0.35]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:6.0.35]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:6.0.35]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:6.0.35]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) [catalina.jar:6.0.35]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) [tomcat-coyote.jar:6.0.35]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) [tomcat-coyote.jar:6.0.35]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote.jar:6.0.35]
    at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03]

org.docx4j.openpackaging.exceptions.Docx4JException: Exception exporting package
    at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:79)
    at org.docx4j.Docx4J.toFO(Docx4J.java:467)
    at docx4j_library.ConvertOutPDF.process(ConvertOutPDF.java:170)
    at converter.Converter.docx2pdf(Converter.java:239)
    at aufgaben_db.Global.convertFile(Global.java:2711)
    at db.UnixComandosThread.d_o(UnixComandosThread.java:180)
    at db.UnixComandosThread.d_o(UnixComandosThread.java:101)
    at org.apache.jsp.action_upload_jsp._jspService(action_upload_jsp.java:326)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    at org.apache.jsp.action_inc_jsp._jspService(action_inc_jsp.java:290)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:213)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:722)

Caused by: java.lang.NullPointerException
    at org.apache.xml.serializer.OutputPropertiesFactory.getDefaultMethodProperties(OutputPropertiesFactory.java:260)
    at org.apache.xalan.templates.OutputProperties.<init>(OutputProperties.java:83)
    at org.apache.xalan.transformer.TransformerIdentityImpl.<init>(TransformerIdentityImpl.java:88)
    at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:823)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.createTransformer(JAXBContextImpl.java:709)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.getIdentityTransformer(XMLSerializer.java:802)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.writeDom(XMLSerializer.java:794)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.serializeListBody(ArrayReferenceNodeProperty.java:101)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:144)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:341)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:54)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:157)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:144)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:341)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:582)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:323)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:483)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236)
    at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:130)
    at org.docx4j.XmlUtils.marshaltoW3CDomDocument(XmlUtils.java:671)
    at org.docx4j.convert.out.common.WmlXsltExporterDelegate.getSourceDocument(WmlXsltExporterDelegate.java:48)
    at org.docx4j.convert.out.common.AbstractXsltExporterDelegate.process(AbstractXsltExporterDelegate.java:56)
    at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:63)
    at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:32)
    at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:71)
    ... 51 more

On my classpath are libraries, please don't be upset, it's an upcoming (hopefully, not in my direct power) OpenSource project and has to handle many fileformats for teachers: (shorted list)

antlr-2.7.7.jar
antlr-runtime-3.3.jar
avalon-framework-api-4.3.1.jar
avalon-framework-impl-4.3.1.jar
batik-all-1.7.jar
docx4j-nightly-20140123.jar
dom4j-1.6.1.jar
fop.jar
itext-2.1.7.jar
jaxb-svg11-1.0.2.jar
jaxb-xmldsig-core-1.0.0.jar
jaxb-xslfo-1.0.1.jar
jaxen-1.1.6.jar
jdom-2.0.5.jar
xalan-2.7.1.jar
xdocreport-1.0.4.jar
xercesImpl.jar
xml-apis.jar
xml-apis-1.3.04.jar
xml-apis-ext-1.3.04.jar
xmlbeans-2.3.0.jar
xmlgraphics-commons-svn-trunk.jar

This might be a random or multiple-different-xalan on the classpath issue though this should not matter for equal libs as the first found is chosen.

Jason told me, docx4j already uses templates, so it should be capable of handling multiple conversions.

Perhaps it is because of the file being empty? If it is .. so I have to dive deeper into debugging the conversion ...

SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
1144 INFO  o.d.j.Context             - java.vendor=Oracle Corporation
1152 INFO  o.d.j.Context             - java.version=1.7.0_03
3080 INFO  o.d.j.NamespacePrefixMapperUtils - Using NamespacePrefixMapperSunInternal, which is suitable for Java 6
3081 INFO  o.d.j.Context             - MOXy JAXB implementation intended..
16930 INFO  o.d.j.Context             - Not using MOXy.
18282 DEBUG o.d.j.Context             - .. other contexts loaded ..
18316 DEBUG o.d.o.c.ContentTypeManager - unmarshalling org.docx4j.openpackaging.contenttype.ContentTypeManager
18429 DEBUG o.d.XmlUtils              - Oracle Corporation
18429 DEBUG o.d.XmlUtils              - 1.7.0_03
18433 WARN  o.d.u.ResourceUtils       - Couldn't get resource: docx4j.properties
18443 WARN  o.d.Docx4jProperties      - Couldn't find/read docx4j.properties; docx4j.properties not found via classloader.
18444 INFO  o.d.XmlUtils              - Using com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
18444 INFO  o.d.XmlUtils              - Using com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
18444 DEBUG o.d.XmlUtils  

Update: This is what I figured so far: (Re-)start Tomcat, conversion works. Now repeat conversion. Doesn't work. Above error. Restart Tomcat -> conversion works once again and only once.

I will give the PdfMultipleThreads.CreatePDF of Jason a try.

Now it looks as if it were connected to HOTLOADING, i.e. if code changes and is recompiled and loaded by Tomcat.

 org.docx4j.openpackaging.exceptions.Docx4JException: Exception exporting package
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:79)
at org.docx4j.Docx4J.toFO(Docx4J.java:467)
at docx4j_library.ConvertOutPDF.process(ConvertOutPDF.java:170)
at converter.Converter.docx2pdf(Converter.java:239)
at aufgaben_db.Global.convertFile(Global.java:2713)
at db.UnixComandosThread.d_o(UnixComandosThread.java:185)
at aufgaben_db.ContentToImage.generateImage(ContentToImage.java:84)
at aufgaben_db.Sheetdraft.extractExercisesFromDOCX(Sheetdraft.java:1827)
at aufgaben_db.Sheetdraft.extractExercisesNativeFormat(Sheetdraft.java:727)
at aufgaben_db.Sheetdraft.extractExercisesNativeFormat(Sheetdraft.java:685)
at aufgaben_db.Aufgaben_DB.processUploadedSheetdraft(Aufgaben_DB.java:171)
at aufgaben_db.Aufgaben_DB.processUploadedSheetdraft(Aufgaben_DB.java:67)
at org.apache.jsp.action_upload_jsp._jspService(action_upload_jsp.java:247)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.action_inc_jsp._jspService(action_inc_jsp.java:290)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:213)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)

I remember this happening if no logger is configured/setup, too.

Caused by: java.lang.NullPointerException
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.getStyleTree(MainDocumentPart.java:172)
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.getStyleTree(MainDocumentPart.java:164)
at org.docx4j.convert.out.common.AbstractWmlConversionContext.initializeStyleTree(AbstractWmlConversionContext.java:115)
at org.docx4j.convert.out.common.AbstractWmlConversionContext.<init>(AbstractWmlConversionContext.java:80)
at org.docx4j.convert.out.fo.FOConversionContext.<init>(FOConversionContext.java:91)
at org.docx4j.convert.out.fo.AbstractFOExporter.createContext(AbstractFOExporter.java:96)
at org.docx4j.convert.out.fo.AbstractFOExporter.createContext(AbstractFOExporter.java:45)
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:67)
... 56 more
Was it helpful?

Solution

I now guess the problem is related to hotloading of the servlet container (so it's a edge case). Have added a new stacktrace ... If so then this would be half that bad. (as in production there is no hotloading) (have the same serializer version, thanks)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top