【发布时间】: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 写入任何内容。