Docx4j Convert to PDF, FOP Issues/ Cannot perform the transformation error

StackOverflow https://stackoverflow.com/questions/18877915

  •  29-06-2022
  •  | 
  •  

Pregunta

Docx4j version 2.8.1.3

The docx is a very simple one with just some text, it doesn't seem to work for any docx though.

May be easier to view source/exception at docx4j forums. http://www.docx4java.org/forums/pdf-output-f27/docx4j-to-pdf-fop-issues-cannot-perform-the-transformation-t1652.html

If answered at one place I will update both with answer

Here is the exception

fourseasons.general.conversionservice.converter.AbstractConverter FOP issues 
org.docx4j.openpackaging.exceptions.Docx4JException: FOP issues

  Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Cannot perform the transformation
     at org.docx4j.XmlUtils.transform(XmlUtils.java:911)
     at org.docx4j.XmlUtils.transform(XmlUtils.java:802)
     at org.docx4j.convert.out.pdf.viaXSLFO.Conversion.output(Conversion.java:349)
     ... 230 more
  Caused by: javax.xml.transform.TransformerException: java.lang.NullPointerException
     at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2405)
     at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376)
     at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
     at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
     at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
     at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270)
     at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356)
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)
     at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)
     at org.docx4j.XmlUtils.transform(XmlUtils.java:909)
     ... 232 more
  Caused by: java.lang.NullPointerException
     at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:282)
     at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:248)
     at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
     at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
     at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)

Code to create the bytes:

     Mapper fontMapper = new IdentityPlusMapper();
     wordmlPackage.setFontMapper(fontMapper);

     org.docx4j.convert.out.pdf.viaXSLFO.Conversion c = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(
           wordmlPackage);

     ByteArrayOutputStream os = new ByteArrayOutputStream();
     c.output(os, new PdfSettings());

     os.close();
     binarypdf = os.toByteArray();
¿Fue útil?

Solución

I had this same issue. Ctrl + A to highlight all page elements and find the element that can't be transformed.

Otros consejos

I have no idea what causes this issue, but I narrowed it down to formatting that can't be handled. I simply started deleting pages from a copy of the erring document, one by one. Then when I finally got to where the doc would transform (to PDF) I knew I had found the page with the issue.

From there it was simply a matter of cutting the page's contents from Word, pasting it into another app (Pages in my case) then back into Word and redo my formatting for that page. Pasted the preceding pages back and voila. Bug gone.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top