把图像放在word文档中

时间:2014-04-15 11:49:53

标签: java apache ms-word

我正在尝试使用apache poi创建一个包含jpeg图片的word文档。我从这里stackoverflow找到了代码。但是,当我运行代码时,创建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   内容

1 个答案:

答案 0 :(得分:0)

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