📜  使用Java将图像添加到 PPT 中的幻灯片

📅  最后修改于: 2022-05-13 01:54:37.290000             🧑  作者: Mango

使用Java将图像添加到 PPT 中的幻灯片

在Java中,使用 XSLFSlide 中的createPicture ()方法可以将图像添加到 PPT。现在电脑不明白,图片里有什么,所以在内部,这个方法接受字节数组格式的图片——>(一系列不可理解的随机数、字母、符号等)类似这样的, AGETRDYDC5545#$^NHVGCFFSFSFGSDF#@@?.0976*)。

空幻灯片的语法

XMLSlideShow ppt = new XMLSlideShow();

创建幻灯片的语法

XSLFSlide slide = ppt.createSlide();

下一个任务是读取我们希望插入的图像文件,然后使用 IOUtils.toByteArray() —> IOUtils 类将其转换为字节数组。

使用 addPicture() 将图像添加到演示文稿中:

  • 待添加图片的字节数组格式(代码中写为byte[] photo)
  • 一个静态变量,表示图像的文件格式。

句法:

int idx = ppt.addPicture(photo, XSLFPictureData.PICTURE_TYPE_PNG);

使用 createPicture() 将图像插入幻灯片。

XSLFPictureShape pic = slide.createPicture(idx);

执行:

Java
// Adding Images to a slide in a PPT using java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
  
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.XSLFPictureShape;
import org.apache.poi.xslf.usermodel.XSLFSlide;
  
public class InsertingImage {
  
    public static void main(String args[])
        throws IOException
    {
  
        XMLSlideShow ppt = new XMLSlideShow();
  
        XSLFSlide slide = ppt.createSlide();
  
        File image
            = new File("C://Folder//codingisfun.png");
  
        byte[] photo = IOUtils.toByteArray(
            new FileInputStream(image));
  
        int idx = ppt.addPicture(
            photo, XSLFPictureData.PICTURE_TYPE_PNG);
  
        XSLFPictureShape pic = slide.createPicture(idx);
  
        // we are creating a file object
        File file = new File("insertingimg.pptx");
        FileOutputStream out = new FileOutputStream(file);
  
        // saving the changes to the file we created
        ppt.write(out);
        System.out.println("image is inserted");
        out.close();
    }
}


编译和执行命令:

$javac InsertingImage.java
$java InsertingImage

输出:

Reordering of the slides is done.