大一java期末考试题及答案java在线拆分word⽂档采⽤什么技术⽐较好?
在Java项⽬开发中,偶尔会遇到通过程序动态拆分word⽂档的需求,由于Java本⾝不能操作Word⽂档,在⽹上也都是讨论如何动态合并word,所以这个需求实现起来相当困难,下⾯就将近期对于Word⽂件拆分的需求及其实现⽅式的研究做个简单的总结,供⼤家参考:
1 VBA可以实现word⽂档拆分功能,在⽹上也很容易到⽰例代码,然⽽VBA虽然强⼤,但是对于Java开发的项⽬提供不了任何帮助。
2 Apache POI是Apache软件基⾦会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能,但POI的接⼝⾮常庞⼤,⽅法与属性晦涩难懂,所以多⽤于简单的处理⼀下word⽂件中的数据,⽐如动态填充数据到word,或修改⼀下段落格式、⽂本样式等。
3 docx4j算是⼀款处理word⽂档的强⼤⼯具。虽然它对WORD各种处理在API层⾯进⾏了封装,但是像WORD本⾝的拆分,合并,其作者(Jason Harrop)是单独提出来了,封装成了商⽤的JAR包来提供⽀持。docx4j建⽴了XML⽂件与JAVA对象互相转换的⼀个桥梁,所以顾名思义,docx4j主要⽤来对docx进⾏⼀些操作,对于⼆进制结构化⽂档的.doc格式就⽆能为⼒了。另外就是稍微⼤⼀点的docx⽂档中的xml 都会异常庞⼤和复杂,在服务器端解析xml会占⽤⼤量的系统资源,如果同时处理多个并发请求的话,对服务器的压⼒也是个问题。
4 PageOffice是⼀款国产的商业软件,可以将word⽂档中的指定区域(⽤书签标记区域)拆分为⼦⽂档。PageOffice封装了VBA对Office⽂件操作的Java接⼝,通过Java编程即可实现对word⽂件的控制。PageOffice的接⼝中的DataRegion对象(⽤来操作书签的对象)提供了⼀个属性setSubmitAsFile(boolean value) 设置为true,那么在保存⽂件时DataRegion所包含的⽂件内容会作为⼀个⼦Word⽂件提交,从⽽实现word⽂件拆分。PageOffice接⼝封装的⽐较完善,代码量少,容易上⼿,且PageOffice是在客户端处理⽂档,不会对服务器造成任何压⼒。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论