Java文档操作工具第三方库研究

1,764 阅读3分钟

前言

  • 前段时间公司需要一个处理office文档转换的功能,所以研究了一下市面上的一些主流的处理工具。

开源免费:

Apache四兄弟

OpenOfficeLibreOfficePDFBoxPOI
OpenOffice.org 是一套跨平台的办公室软件套件,能在WindowsLinux、MacOS X (X11)和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice.org 是自由软件,任何人都可以免费下载、使用及推广它。LibreOffice是OpenOffice.org办公套件衍生版, 同样自由开源,以Mozilla Public License V2.0分发源代码,但相比OpenOffice增加了很多特色功能。LibreOffice拥有强大的数据导入和导出功能,能直接导入PDF文档、微软Word(.doc文件)、LotusWord,支持主要的OpenXML格式。软件本身并不局限于Debian和Ubuntu平台,现已支持Windows、Mac和其它Linux发行版等多个系统平台。PDFBox(一个BSD许可下的源码开放项目)是一个为开发人员读取和创建PDF文档而准备的纯Java类库。Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。
OpenOffice虽然有些年头但是不管是怎么使用都需要安装客户端才可以使用,支持性不及LibreOffice。LibreOffice使用同样需要安装客户端,可以看做是对OpenOffice的升级,可以编译到不同平台,文件转换对于doc、xls、ppt二进制文件格式支持不好,客户端没有展示全部功能,一些文件转换和文件加密分页等操作可以使用命令来执行。PDFBox仅支持pdf操作不需要安装客户端就可以使用,有移植到android端的项目POI支持office文档操作拆分加密等,但是不支持文档转换,并且加密不支持doc、xls、ppt二进制文件格式加密,poi对于ppt和pptx文档支持性好。

开源免费的估计只有Apache这四个兄弟最可以了吧

半开源 免费|收费:

  1. iText-分为itext5和itext7版本只能处理pdf,不需要安装客户端下载添加jar包就可以使用,itext5以前的版本是开源可以商用但是itext7开始修改了开源协议商用需要授权,另外itext提供了一些对于PDF处理和转换的扩展包都是闭源的需要收费。

闭源收费:

  1. WPS-即以前的金山文档国内老牌的文档处理软件,处理效果很好但是收费,有WPS开放平台合作收费
  2. 福晰阅读器-卖点快速、小巧、安全,没怎么用过一样收费,主要处理PDF的功能不足。
  3. e-iceblue的Spire-国内自主知识产权开发的office处理工具,国内很多大厂都有使用,支持平台.NET、Java、Android和Cloud,功能很全面专业做文档处理的有免费版但是一样是限制转换。
  4. Microsoft Office-微软花了大价钱开发使Microsoft office成为全球办公软件,有开源二次开发一样要钱。
  5. Aspose-国外的老牌专业文档处理工具,支持性很全面几乎覆盖了所有的文档类型包括CAD、3D和PSD等,详情去官网查看。