使用 Java 将 PPT 的幻灯片转换为图像
原文:https://www . geeksforgeeks . org/使用 java 将 ppt 的幻灯片转换为图像/
要将 PowerPoint 幻灯片转换为图像,需要多个包,如 java.awt,因为它包含创建用户界面和绘制图形和图像的所有类 java.io,因为它提供了一组输入流和一组输出流,用于向文件或其他输入和输出源读写数据 Apache POI,因为它用于使用 java 程序创建、修改和显示 Microsoft Office 文件。
下载阿帕奇 POI
- 从官方网站下载 zip 文件。
- 从 zip 文件中提取外部 jar 文件。
- 添加外部 jar 文件。 对于选择 Java 构建路径- >配置构建路径- >库- >类- >添加外部 Jars
- 从所需的文件夹中选择 jar 文件
- 单击应用并关闭。
从爪哇进口
- java.awt.Color: 这个类有改变界面中对象外观所需的颜色。
- java.awt.Dimension 它包含组件的高度和宽度。
- java.awt.Graphics2D 它提供了对几何图形、坐标转换、颜色管理和文本布局的控制。
- Java . awt . geom . rectangle2d它描述了一个由位置(x,y)和尺寸(w x h)定义的矩形。
- Java . awt . image . bufferedimage用于处理和操纵图像数据。
从爪哇进口
- java.io.File: 它包含了多种处理路径名、删除和重命名文件等方法。
- java.io.FileInputStream: 用于从文件中读取数据。
- Java . io . File outputstream:用于将数据写入文件。
- java.io.IOException: 它是一个异常,在代码中用于在输入和输出操作中引发故障
从阿帕奇 POI 进口
- org . Apache . poi . xslf . user model . xmlslideshow:用于创建读取或写入幻灯片显示的对象。
- org . Apache . poi . xslf . user model . xslfslide:用于创建和管理演示文稿中的幻灯片。
实施:
Java 语言(一种计算机语言,尤用于创建网站)
// Converting the slides of a PPT into Images using Java
import java.util.List;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
public class PPTToImages {
public static void main(String args[])
throws IOException
{
// create an empty presentation
File file = new File("slides.pptx");
XMLSlideShow ppt
= new XMLSlideShow(new FileInputStream(file));
// get the dimension and size of the slide
Dimension pgsize = ppt.getPageSize();
List<XSLFSlide> slide = ppt.getSlides();
BufferedImage img = null;
System.out.println(slide.size());
for (int i = 0; i < slide.size(); i++) {
img = new BufferedImage(
pgsize.width, pgsize.height,
BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
// clear area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(
0, 0, pgsize.width, pgsize.height));
// draw the images
slide.get(i).draw(graphics);
FileOutputStream out = new FileOutputStream(
"ppt_image" + i + ".png");
javax.imageio.ImageIO.write(img, "png", out);
ppt.write(out);
out.close();
System.out.println(i);
}
System.out.println("Image successfully created");
}
}
程序执行前:
程序执行后:
版权属于:月萌API www.moonapi.com,转载请注明出处