PageOffice与Apache POI的区别
2018-09-12 16:50
1306 查看
1. 相同之处:
都可以对MS Office文档进行填充数据,转HTML、PDF等。服务器端都不需要装MS Office办公软件。
都支持windows、linux、unix服务器。
2. 不同之处:
PageOffice是客户端生成文档的, POI是服务器端生成文档的。使用PageOffice需要在客户端电脑上安装PageOffice的客户端posetup。exe程序,而POI不需要安装任何程序。PageOffice对于doc和docx的文档的处理方式相同,客户不需要知道其内部的处理方式,对用户提供的调用方法都是相同的,例如:对doc和docx的文档填充数据,对外提供的是统一的方法setValue("值")。而POI对于doc,docx的文档的处理方式是不同的,在调用之前用户必须判断是什么格式的文档,就用其对应的基类,例如:处理doc格式的文档的基类是Hwpf,处理docx格式的文档的基类是Xwpf,两者在填充数据时提供内部方法繁琐,接口混乱,使用非常不方便。
在转PDF的功能中POI没有提供最直接的转PDF的方法,所以我们必须借助其它第三方的工具转html,例如可以使用itext,OpenOffice等第三方工具来结合POI对Office文档转PDF功能,但是itext对于docx的文档支持比较好,但对于doc的文档,没有提供比较完善的接口。OpenOffice只支持windows服务器。PageOffice转PDF调用的是office本身的接口,转PDF功能非常完美。
PageOffice对文档格式要求不是很严格,只要客户端本身能正确打开的文档,PageOffice在线都能完美打开。而Poi对文档格式要求很严格,docx文档在填充数据的过程中不能有特殊的超链接,否则填充使得文档损坏,doc文档强制转换成docx格式的使用PageOffice可以,但是使用Poi则出现格式损坏问题,导致不能使用。
使用PageOffice在十行代码就可以完成实现填充数据,转HTML、PDF的功能,但是使用POI就得用五六百行代码,并且POI实现的过程代码复杂困难,而且不是很稳定,所以使用POI及其费时间和精力。
总结: 使用PageOffice产品开发周期短, 集成方式简单,接口稳定易用,用户很容易学会其使用方式,而POI接口繁琐,方法混乱,不稳定,开发过程很耗费时间和精力.
相关文章推荐
- Java Excel(JXL) 与POI(Apache POI) 区别
- Apache POI HSSF,XSSF和SXSSF的区别
- nginx 中的break和last的区别
- HashMap和Hashtable的区别
- call和apply的用法和区别
- input、button、submit表单提交区别
- Comparable与Comparator的区别
- js正则函数中test和match的区别
- 字符、字节的概念及其区别
- toString()和toLocaleString()有什么区别
- Java学习之StringBuilder与String对象的区别
- equals和==的区别
- iptables中-j选项与-g选项的区别
- C# Array和ArrayList区别
- select、poll、epoll之间的区别总结[整理]
- android中Serializable 和 Parcelable 的区别
- 依赖注入和反转控制的区别
- java:四种Reference的区别
- continue 与break的区别
- 进程与线程的区别