最近公司有个需求,将PPT课件转成图片列表,然后在前端展示成轮播图,于是一开始通过Microsoft.Office.Interop.PowerPoint包实现了这个需求具体代码如下:
+ View Code
由于我们图片都是云存储,所以存到文件系统后又删掉了,貌似没有直接存成流的方式,不重要
发布到线上后发现服务器没有安装office,因此无法正常使用,但又不能在服务器上安装,因此踩坑一天左右,找到了一些方法
一、使用Spire.Presentation
使用Spire.Presentation可以轻松的将ppt转换为image,代码如下
+ View Code
可以看到,代码简单,并且不需要存储到服务器上,但是Spire.Presentation是商用的,免费使用有10页的限制,并且会有水印
于是继续寻找方法
二、最后解决方案是,先将PPT转换为pdf,然后将pdf文件转换为图片,这里也贴出一些常见的文章链接:
pdf转成图片的方法:https://blog.csdn.net/shi0090/article/details/7262199
文章中使用的方法我没有全试,总结一下优缺点:
1、O2S.Components.PDFRender4NET.dll
该dll可用,虽然免费版有水印但是网上还是能找到破解的,这里不贴了,但ppt中使用了png格式的图片,会丢失,并且使用图片清晰度调大会很卡
2、Acrobat.dll
该dll在asp .net环境下