PPT/PPTX转image图片
PPT/PPTX转image图片
By KimmKing 2018年6月1日
功能需求与技术分析
最近有一个需求,在Java环境下把PPT/PPTX转换成图片展示。
一般来说,这个需求用dotnet来实现非常合适:
- 最简单的可以通过VSTO之类的,直接调用PowerPoint来实现转存图片。
- 也可以不依赖于dotnet,使用手法的Aspose组件,效果非常棒,就是不便宜。
这里提供一种跨平台的Java&开源处理方式:Apache POI实现PPT/PPTX的文件处理。
核心原理就是获取每一页的PPT对象,然后输出到内存图像对象,再保存为图片文件:1
Slide.draw(graphics);
Github开源项目
操作代码已经封装到这里:
https://github.com/kkstudy/PPT2Image
PPT2Image 是一个把PPT 或 PPTX 的每一页转换成一个图片的库。
使用说明
1 | File file = new File("D:\\git\\PPT2Image\\1.pptx"); |
列表images里就是每一个图片的路径。
测试效果
- POI对于PPTX格式的处理要比PPT好,特别是文本框和字体上更精确。
- 转换速度PPTX要比PPT慢,PPT大概1s一张,PPTX大概需要1.6s。
效果对比
- PPTX to Images
- PPT to Images
使用的测试文件在此:https://github.com/kkstudy/PPT2Image