การแทรกรูปใน PowerPoint ด้วย Apache POI

ต่อไปนี้เป็นตัวอย่างการแทรกรูปเข้าไปใน PowerPoint ด้วย Apache POI ครับ ซึ่งมีหลักการอยู่ว่าต้อง อ่านข้อมูลรูปมาเป็นข้อมูลประเภท byte เข้ามาใน PowerPoint ก่อนและดึงค่า index ที่ได้มาแสดงใน slide อีกที

ตัวอย่างโคด
package com.java.poi.powerpoint;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.util.IOUtils;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFPictureData;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class ImagePowerPoint {
    public static void main(String[] args) {
        try {
            // path ของไฟล์
            String fileName = "C:\\poi\\ImagePowerPoint.pptx";
            // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ
            FileOutputStream out = new FileOutputStream(fileName);
            // สร้างภาพนิ่งเปล่าๆ
            XMLSlideShow ppt = new XMLSlideShow();
            // สร้าง  slide แรก
            XSLFSlide slide = ppt.createSlide();
            // path ของรูป
            File image=new File("C:\\poi\\nop.jpg");
            // อ่าน content ของรูปขึ้นมาแล้วแปลงเป็น byte
            byte[] picture = IOUtils.toByteArray(new FileInputStream(image));
            // เพิ่มรูปเข้าไปให้กับ  XMLSlideShow
            int idx = ppt.addPicture(picture, XSLFPictureData.PICTURE_TYPE_JPEG);
            // สร้าง slide พร้อมรูป
            slide.createPicture(idx);
            
            ppt.write(out);
            out.close();
            System.out.println("slide created successfully");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ไฟล์ที่ถูกสร้าง

 ผลลัพธ์ที่ได้ 

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment