【问题标题】:Put image in word document将图片放入word文档
【发布时间】:2015-10-15 19:45:57
【问题描述】:

我正在尝试使用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 无法打开,因为存在问题 内容

.

【问题讨论】:

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

标签: java apache ms-word


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多