使用Apache POI将图片添加到Word文档

时间:2015-02-03 09:18:58

标签: java apache-poi

我知道已经可以使用

将图片添加到Word文档中
XWPFRun: addPicture(java.io.InputStream pictureData, int pictureType, java.lang.String filename, int width, int height) throws InvalidFormatException, java.io.IOException

方法。但是,我不希望我的图片调整大小。调整大小不是缩放新图像:它总是拉伸它们,使它们无用。

有没有办法插入原始大小的图片,或按比例缩放?

2 个答案:

答案 0 :(得分:0)

我使用Apache POI已经有一段时间了,我不认为可以在没有指定高度和宽度的情况下将图片添加到WORD文档。

我总是使用以下代码来检索图片的大小,并在需要时进行相应的缩放。

BufferedImage bi = ImageIO.read(new File(filename));
int width          = bi.getWidth();
int height         = bi.getHeight();

答案 1 :(得分:0)

您可以使用以下Apache POI ImageUtils:

Dimension dimension = ImageUtils.getImageDimension(imageInputStream, XWPFDocument.PICTURE_TYPE_JPEG);
double width = dimension.getWidth();
double height = dimension.getHeight();