@Pradeep Your code
public static void main(String[] args) throws Exception {
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
//wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Title", "Hello World");
//wordMLPackage.getMainDocumentPart().addParagraphOfText("Text");
java.io.InputStream is = new java.io.FileInputStream("path\\to\\images.jpg");
// commons-io.jar
byte[] bytes = IOUtils.toByteArray(is);
String filenameHint = null;
String altText = null;
int id1 = 0;
int id2 = 1;
org.docx4j.wml.P p = newImage(wordMLPackage, bytes,filenameHint, altText,id1, id2,6000 );
// Now add our p to the document
wordMLPackage.getMainDocumentPart().addObject(p);
wordMLPackage.save(new java.io.File("helloworld.docx"));
is.close();
}
public static org.docx4j.wml.P newImage(WordprocessingMLPackage wordMLPackage,
byte[] bytes,
String filenameHint, String altText,
int id1, int id2, long cx) throws Exception {
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
Inline inline = imagePart.createImageInline(filenameHint, altText,id1, id2, cx,false);
// 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.getContent().add(run);
org.docx4j.wml.Drawing drawing = factory.createDrawing();
run.getContent().add(drawing);
drawing.getAnchorOrInline().add(inline);
return p;
works , but all the above codes does not work, i tried it personally
thanks, a lot.
您是否嘗試過與POI 3.8 beta 4版本?一些圖片錯誤已經從3.7最終解決,因此值得看看升級是否解決了您的問題 – Gagravarr
是的,唯一的區別是在POI 3.8 beta 4中,方法名稱XWPFDocument.addPicture(byte [] arg0,int arg1)被更改到XWPFDocument.addPictureData(byte [] arg0,int arg1) - 也許概要說明這種方法只是將圖片數據添加到文檔中,但不會將圖片添加到要顯示在單詞中的段落等。這是否仍然沒有答案。我認爲一個CTPicture對象(org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture)必須創建並添加到一個段落 - 但是,我還沒有發現如何做到這一點。 –
您是否嘗試調用[addPicture](http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFRun.html#addPicture%28java.io.InputStream,%20int,%20java.lang .String,%20int,%20int%29)在您希望圖片顯示的文本上運行? – Gagravarr