Java 使用ApachePOI向Word文档添加图片

Java 使用ApachePOI向Word文档添加图片,java,apache-poi,Java,Apache Poi,我知道已经可以使用 XWPFRun: addPicture(java.io.InputStream pictureData, int pictureType, java.lang.String filename, int width, int height) throws InvalidFormatException, java.io.IOException 方法。然而,我不想我的照片被调整大小。调整大小并不是缩放新图像:它总是拉伸它们,使它们毫无用处 有没有办法插入原始大小的图像,或者按比例

我知道已经可以使用

XWPFRun: addPicture(java.io.InputStream pictureData, int pictureType, java.lang.String filename, int width, int height) throws InvalidFormatException, java.io.IOException
方法。然而,我不想我的照片被调整大小。调整大小并不是缩放新图像:它总是拉伸它们,使它们毫无用处


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

我已经使用ApachePOI很长一段时间了,我认为不指定高度和宽度就无法将图片添加到WORD文档中

我总是使用下面的代码来检索图片的大小,并根据需要进行相应的缩放

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

您可以按如下方式使用Apache POI ImageUtils:

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

我懂了。。。遗憾的是,这不适用于我,因为我在谷歌应用程序引擎上使用它,而且那里不支持awt类。所以,手动缩放并在其后传递实际的图像宽度/高度是唯一的解决方案?