Java 将图像放入word文档中

Java 将图像放入word文档中,java,apache,ms-word,Java,Apache,Ms Word,我正在尝试使用apachepoi创建一个word文档,其中将包含jpeg图片。我在这里找到了这样做的代码。但是,当我运行代码时,创建了一个docx,它的大小似乎包含了jpg图像,但我无法打开它。 我的代码如下: import org.apache.poi.util.Units; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.xwpf.

我正在尝试使用
apache
poi创建一个word文档,其中将包含
jpeg
图片。我在这里找到了这样做的代码。但是,当我运行代码时,创建了一个
docx
,它的大小似乎包含了jpg图像,但我无法打开它。 我的代码如下:

    import org.apache.poi.util.Units;
    import java.io.FileInputStream;  
    import java.io.FileOutputStream;
    import org.apache.poi.xwpf.usermodel.BreakType; 
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.XWPFRun;


    public class SimpleImages {

    public static void main(String[] args) throws Exception {
        XWPFDocument doc = new XWPFDocument();
        XWPFParagraph p = doc.createParagraph();

        XWPFRun r = p.createRun();

        //for(String imgFile : args) {
        String imgFile = "mosaic.jpg";
            int format =XWPFDocument.PICTURE_TYPE_JPEG;

            r.setText(imgFile);
            r.addBreak();
            r.addPicture(new FileInputStream(imgFile), format, imgFile, Units.toEMU(200), Units.toEMU(200)); // 200x200 pixels
            r.addBreak(BreakType.PAGE);
        //}

        FileOutputStream out = new FileOutputStream("images.docx");
        doc.write(out);
        out.close();
    }


}
当我试图打开docx时,我收到:

无法打开文件file.docx,因为存在以下问题: 内容


.

我也有同样的问题,但问题解决了。以前我使用的是poi 3.10版本,这是问题的罪魁祸首。我刚刚将其更新到3.12,问题得到解决

我也遇到了同样的问题。你能解决这个问题吗?我认为你需要使用UTF.where is doc.write(out),你得到了错误,因为你没有向FileOutputStream写入任何内容。