遇到的问题
前端使用的是 vue,有对应的组件,我只需要返回文件流就可以了,但是遇到一个问题,就是ppt必须要转为pdf的格式才行,下面就是几种解决方法。
原理
其实文档类型的文件最终都是转换成图片或者pdf的方式了。
方法
- 直接使用poi的方式来转
poi的方法ppt转pdf的时候,会出现一些问题,但是大部分情况是可以正常显示的,如果非要完全正常的话,只能让用户上传或者使用openoffice或者libreoffice的方式来转了。
poi的方式其实就是先将ppt转为图片的方式,然后将图片拼接起来的
- 使用kkfileview这个开源软件来转
其实kkfileview底层就是使用的openoffice或者libreoffice,最新的是libreoffice,但是这个的问题就是 如果你的服务器是可以访问公网的,那基本上直接安装就可以,对应的office会自动安装,但是如果你是内网开发,你就需要自己上传kkfileview和office的安装包,然后安装,更令人难受的是如果你的系统版本是rathat7.0之下的,有一些依赖可能就是无法成功下载,这就是我这个项目放弃kkfireview的最大原因。
我这个项目最终是采用的poi的方式来进行的,如果客户觉得显示的不好,就自己在本地将ppt转为pdf上传
实现
poi的方法ppt转pdf的时候,会出现一些问题,但是大部分情况是可以正常显示的,如果非要完全正常的话,由于kkfileview这个装poi的这个说实话,找了网上很多的代码,都是不靠谱的,经常报错,还是项目组内的一个同事自己搞了一下才可以,为避免以后遇到这个问题,粘贴代码到此