By KimmKing 2018年6月1日
最近有一个需求,在Java环境下把PPT/PPTX转换成图片展示。
一般来说,这个需求用dotnet来实现非常合适:
- 最简单的可以通过VSTO之类的,直接调用PowerPoint来实现转存图片。
- 也可以不依赖于dotnet,使用手法的Aspose组件,效果非常棒,就是不便宜。
这里提供一种跨平台的Java&开源处理方式:Apache POI实现PPT/PPTX的文件处理。
核心原理就是获取每一页的PPT对象,然后输出到内存图像对象,再保存为图片文件:
Slide.draw(graphics);
操作代码已经封装到这里:
https://github.com/kkstudy/PPT2Image
PPT2Image 是一个把PPT 或 PPTX 的每一页转换成一个图片的库。
File file = new File("D:\\git\\PPT2Image\\1.pptx");
List<String> images = convertPPTtoImage(file,"D:\\git\\PPT2Image\\images\\pptx");
列表images里就是每一个图片的路径。
使用的测试文件在此:https://github.com/kkstudy/PPT2Image