使用 apache 将 powerpoint 图像读取到 bufferedImage
Reading a powerpoint image to a bufferedImage using apache
我正在尝试将 powerpoint 图片读入 java 以便在用户表单上显示。
我不尝试将整张幻灯片导出为图像。我只需要访问已插入幻灯片的图像。
我试过下面的代码,我觉得我真的很接近,但是 ImageIO.read 返回 null。
public BufferedImage getImage2() {
java.io.InputStream fin = null;
try {
PackageRelationship packRel = mySlide.getPackagePart().getRelationship(myName);
PackagePart part = packRel.getSource();
fin = part.getInputStream();
BufferedImage imBuff = ImageIO.read(fin);
return imBuff;
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
} finally {
try {
fin.close();
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
return null;
}
如果有人有任何尝试这样做的经验,将不胜感激。谢谢
尝试这样的事情:
for(XSLFShape shape : mySlide){
if (shape instanceof XSLFPictureShape){
XSLFPictureShape pShape = (XSLFPictureShape)shape;
XSLFPictureData pData = pShape.getPictureData();
InputStream pIs = pData.getInputStream();
// ...
}
}
xslf data extraction example 中有更多详细信息。
我正在尝试将 powerpoint 图片读入 java 以便在用户表单上显示。
我不尝试将整张幻灯片导出为图像。我只需要访问已插入幻灯片的图像。
我试过下面的代码,我觉得我真的很接近,但是 ImageIO.read 返回 null。
public BufferedImage getImage2() {
java.io.InputStream fin = null;
try {
PackageRelationship packRel = mySlide.getPackagePart().getRelationship(myName);
PackagePart part = packRel.getSource();
fin = part.getInputStream();
BufferedImage imBuff = ImageIO.read(fin);
return imBuff;
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
} finally {
try {
fin.close();
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
return null;
}
如果有人有任何尝试这样做的经验,将不胜感激。谢谢
尝试这样的事情:
for(XSLFShape shape : mySlide){
if (shape instanceof XSLFPictureShape){
XSLFPictureShape pShape = (XSLFPictureShape)shape;
XSLFPictureData pData = pShape.getPictureData();
InputStream pIs = pData.getInputStream();
// ...
}
}
xslf data extraction example 中有更多详细信息。