在项目中如何读取不同类型的文件

来源:互联网 发布:手机淘宝咋退货 编辑:程序博客网 时间:2024/06/05 09:12

   目前在系统中,客户要求在程序中可以读取不同的文件类型,要求支持的文件类型包括txt文本文件、Word文件、WPS文件、PDF文件,CEB,CAJ,并可以很方便的扩展支持其他文件类型。并要提供对文件全文检索的功能,并要求能很好的支持中文.

  考虑到性能问题,由于文件最终要传递到服务端进行保存,因此在服务端读取其文本内容可以避免在客户端读取之后再传递到服务端的处理,特别在文本内容较多时能提高性能。但这需要服务端能读取所有支持的文件类型。就目前来说,服务端暂不支持WPS文件的读取。可对服务端支持的文件类型放在服务端处理,不支持的放在客户端处理。

  由于客户端可以支持对txt类型文件很好的支持,所以对于txt文件可以直接编辑保存.

  利用apache的开源项目POI来解决在服务端读取word文档的问题,目前系统中有使用到POI开源框架处理EXCEL但不支持WORD的处理,需要提供更高版的支持.采用了新的版本可以处理WORD之后,发现新版本的开源框架删除掉了一些方法,导致需要对原有程序的变更.

  由于以前在工作中使用过处理PDF的开源框架PDFBox,所以直接使用PDFBOX,PDFBox也是apache一个开源的可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。

  以前没有做过WPS文件的处理,WPS由于是国内开发的产品,目前并无有开源框架可以支持直接在服务端进行转换,要将WPS档内容转换成TXT,需要利用WPS提供的二次开发的API来进行处理。前提是用户客户端必须安WPS或支持WPS API的相关控件。实现的原理的是建立一个WPS应用程序,打开需要转换的WPS文档,调用SAVEAS方法,将WPS文档转换成TXT文件。 

对于CAB和CAJ格式的文件,目前都无现有的框架支持,只能和软件服务商联系,看是否能提供技术支持.

 

 

 

 

 

原创粉丝点击