2013-10-25 75 views
0

您好我使用apache poi構建了一個powerpoint演示文稿,並在演示文稿中添加了大量圖片。使用Apache POI hslf調整/壓縮圖片 - PowerPoint

private void addImage(SlideShow slideShow, Sheet slide, File image, int x, int y, int w, int h) { 
    try { 
     int idx = slideShow.addPicture(image, Picture.JPEG); 
     Picture pict = new Picture(idx); 
     pict.setAnchor(new Rectangle(x, y, w, h)); 
     slide.addShape(pict); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

功能的工作原理和我到底PPT演示,但PPT文件太大而在另一臺電腦,我收到了堆空間錯誤。 所以我想調整大小/壓縮幻燈片中的圖像。我在每張幻燈片上都有四張照片 - 因此他們不需要具有原始分辨率。

poi中是否有構建函數? 喜歡的東西

pict.resize(width, height); 

我使用的Apache POI 3.7

THX提前

回答

2

POI不修改pictureData本身。你以前需要resample

+0

嗨Kiwiwings ok - 現在我自己轉換圖像。我想也許有一種方法可以使用像這裏的PowerPoint方式功能 http://www.wikihow.com/Reduce-Powerpoint-File-Size 「選擇電子郵件(96 ppi)輸出以縮小尺寸PowerPoint.Picture工具>>格式>>壓縮圖片>>選項>>目標輸出>>電子郵件(96 ppi)「 – Maick

+0

...可能是一個擴展的好主意。很容易遍歷幻燈片的所有圖片,找出它們的尺寸並計算給定ppis的像素寬度/高度。也許你可以在poi-bugzilla中提交增強條目...... – kiwiwings