使用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.