Page 1 of 1

Problem to create word's file with images on Linux server

PostPosted: Tue Jun 08, 2010 1:28 am
by padcoe
Hey :)

My application is running on Ubuntu 8 and when i try to create a file with images, i got an error about X11: "No X11 DISPLAY variable was set, but this program performed an operation which requires it.".

After this, i've tried to set:

DISPLAY=:0.0
export DISPLAY

And it still doesn't work ... i've tried set a parameter for JAVA_OPTS on Jboss:

-Djava.awt.headless=true

It still doesn't work but now i have a different exception:

javax.ejb.EJBException: Unexpected Error
java.lang.ExceptionInInitializerError
at com.mycompany.ourproject.util.CreateDocx.newImage(CreateDocx.java:179)
at com.mycompany.ourproject.util.CreateDocx.createImage(CreateDocx.java:168)
...
Caused by: java.awt.HeadlessException
at sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:203)
at org.apache.xmlgraphics.image.loader.impl.DefaultImageContext.<init>(DefaultImageContext.java:37)
at org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.<clinit>(BinaryPartAbstractImage.java:139)
... 97 more


And here is my code at line 179:

Code: Select all
   public static org.docx4j.wml.P newImage( WordprocessingMLPackage wordMLPackage,
         byte[] bytes,
         String filenameHint, String altText,
         int id1, int id2) throws Exception {
      
        BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes); // LINE 179
      
        Inline inline = imagePart.createImageInline( filenameHint, altText,
             id1, id2);
       
        // Now add the inline in w:p/w:r/w:drawing
      org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory();
      org.docx4j.wml.P  p = factory.createP();
      org.docx4j.wml.R  run = factory.createR();      
      p.getParagraphContent().add(run);       
      org.docx4j.wml.Drawing drawing = factory.createDrawing();      
      run.getRunContent().add(drawing);      
      drawing.getAnchorOrInline().add(inline);
      
      return p;
      
   }


Any ideas?

Thanks.

David

Re: Problem to create word's file with images on Linux server

PostPosted: Tue Jun 08, 2010 2:32 am
by jason
You need to be using r757686 or later of xmlgraphics-commons.jar.

A suitable copy is in the docx4j Maven repository. See pom.xml.

Make sure no other copy of xmlgraphics-commons is on your path.

HTH .. Jason

Re: Problem to create word's file with images on Linux server

PostPosted: Tue Jun 08, 2010 4:03 am
by padcoe
Thanks again, Jason :)