2016-02-29 73 views
0

我想讀一個功率點圖像到Java顯示在用戶窗體上。使用apache讀取一個幻燈片圖像到一個bufferedImage

我是不是試圖將整張幻燈片導出爲圖像。我需要訪問已經插入到幻燈片中的圖像。

我已經嘗試了下面的代碼,我覺得我真的很接近,但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; 
} 

如果有人有任何經驗試圖做到這一點,將不勝感激。謝謝

+0

什麼是「power point image」? 'ImageIO'可能不支持它。 – MikeCAT

+0

這是一個圖像添加到存儲在Powerpoint zip文件中的演示文稿。它通常是jpeg,png等。 – emmistar

+0

如果是這樣,我會喜歡它但是我不想將整張幻燈片作爲圖像提取出來,我已經在我的代碼中使用了它。我正試圖獲取放在幻燈片上的圖像,並閱讀精確的圖像。 – emmistar

回答

1

嘗試這樣的事情:在xslf data extraction example

for(XSLFShape shape : mySlide){ 
    if (shape instanceof XSLFPictureShape){ 
     XSLFPictureShape pShape = (XSLFPictureShape)shape; 
     XSLFPictureData pData = pShape.getPictureData(); 
     InputStream pIs = pData.getInputStream(); 
     // ... 
    } 
} 

更多細節。