java实现ppt/pptx转图片,转pdf的两种方式poi与aspose比较以及后续的各自实现

                                  poi与aspose的比较

1.常见的ppt转pdf的方案有两种

a.一种是ppt先转换为png等图片格式的图片,然后在合成图片生成pdf。

b.直接将ppt转为pdf

以上两种方式中:

方式a可以通过poi相关全程实现,也可以使用aspose+poi的方式实现。两种实现方式分别为

ppt/pptx转png图片阶段:poi或者aspose,其中poi在这个阶段的速度比aspose快很多,但是有一点,就是偶尔会底层报错,但是aspose出错的可能性极低。具体怎末选,看你是看重速度还是上传的成功率。速度虽然不能该变,但是如果实时性不是很强,可以涉及异步的方式来消弱转换的耗时问题。需要注意的是,如果服务器硬件,如cpu,内存不高的情况下,执行这个ppt转png的过程比较消耗资源,cpu,内存都会瞬间飙升,如果业务上这个功能用到的还比较多,建议和业务服务器分开。当然,如果cpu,内存很大,试一试就知道能不能抗住。如果调用这个方法cpu没有起到立竿见影的飙升状况,就不用考虑单独整个文件服务器了,哈哈。

png转pdf阶段:poi相关,主要用到的包是这个:

        
            org.apache.pdfbox
            pdfbox
            2.0.18
        

这个阶段和上一个阶段比,这麽说具体点。就是ppt转png用60-80s,png转pdf只用5-9s即可。

方式b是通过aspose来实现的。这个过程怎麽说呢,我这里是感觉比较慢,但是几乎都能成功转换,就是说成功率很高。并没有网上说的非常快,虽然这个包是收费的,但是免费的破解还是有的,我用的就是破解的。也或许是这个原因才慢吧,我感觉不至于,但是收费的是按转换次数收费,太特么贵了,用不起啥法。。。上面说的两种方式java代码我都会贴出来。

另外:网上还说通过openoffice的方式实现,这个我是调研过了,可行性真的可以说,别浪费时间了。这个不太靠谱!

为什么这麽说呢,首先你要接受安装一个openservice的服务端,并且你本地开发用的时windows,但是项目上线你的安装linux版本的,就算你windows没出问题,也不能保证linux的没问题。并且这个服务占用内存200M吧。如果你们公司这块业务不是很多,偶尔会用到,那这个一直启动的服务端就显得很浪费呀。这都是其次,因为我试了不下五种java方式来本机开发,没有一个能成功的,后来试了几天,果断不行,放弃了。

 

你可能感兴趣的:(文件操作)