jacob + itext实现Word、Excel、Ppt在线预览

本文介绍了四种不同的Office在线预览技术:Office Online、OpenOffice转换、Apache POI以及Jacob。详细分析了每种方法的优点和缺点,如Office Online对域名和端口的要求,OpenOffice的样式损失,POI的兼容性问题以及Jacob的转换效率低。最终,博主作为技术新手分享了自己的实践心得。
摘要由CSDN通过智能技术生成

本人技术小白一枚,前些天Boss让我写一个office在线预览的一个功能,各种找资料,总结一下我觉得比较好用的方法

网上大概有这几种office在线预览的方法

第一种

利用office online实现在线预览

Office平台提供了通过url的指向达到预览效果

http://view.officeapps.live.com/op/view.aspx?src=

后面的src填写文档上传到服务器的地址,地址需要通过用URLEncode进行编译

例: 

http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fbuild%2f2011%2fslides%2fTOOL-532T_Sutter.pptx

参照链接:

https://blog.csdn.net/csdn_cjgu/article/details/69389474

优点:这个功能由Office提供所以只需要拼接地址

缺点:文档的访问地址不能直接使用 ip,需要通过域名访问,并且端口必须是 80 端口,

Word、ppt文档的大小不能超过10M,Excel不能超过5M

第二种

1.通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件,

2.通过swfTools将pdf文件转换成swf格式的文件; 

3.通过FlexPaper文档组件在页面上进行展示。 

参照链接:

https://blog.csdn.net/tmac937436/article/details/70799687?locationNum=14&fps=1

总结一下这种方法的利弊,

优点:openoffice有各种版本,支持跨平台,转换速度快;

缺点:转换的样式会有缺损,Excel和openoffice完美不兼容 =  . = ,转换的时候会出现折行,切分等情况,效果很不理想;

FlexPaper这个是用Flash插件显示的,展示的效果优点low。

第三种

利用poi实现office在线预览

  1. public static void PoiWord07ToHtml (HttpServletRequest request) throws IOException{
  2. String path= "C:\\Users\\Administrator\\Desktop\\";
  3. String file = "C:\\Users\\Administrator\\Desktop\\word07.docx";
  4. String file2 = "C:\\Users\\Administrator\\Desktop\\word07.html";
  5. File f = new File(file);
  6. if (!f.exists()) {
  7. System.out.println( "Sorry File does not Exists!");
  8. } else {
  9. if (f.getName().endsWith( ".docx") || f.getName().endsWith( ".DOCX")) {
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值