所谓在线预览分为两部分:需要预览的文件转换为PDF文件 + PDF解析呈现
转换PDF使用了jacob插件,要注意的一点就是要将jacob.dll文件放进jdk的bin目录下,还有要注意文件路径是否正
确。原本开发的时候一切正常,后来项目上linux测试环境才发现,jacob插件并不支持linux环境。
所以只能换成openoffice + jodconverter来转换PDF,windows和linux环境安装openoffice,并且都可以进行转换。但
是转换后的文件会存在失真的问题(具体表现在:某些word文档中的图片会消失;ppt中的对话框及箭头会变形,完全
看不出原来是指向哪里),并且在转换.pptx及.docx文件时会报错。
而使用jacob则不会出现上述使用openoffice + jodconverter出现的问题,为了项目能正常上线,只能暂时使用windows
服务器。(使用jacob转换word文档,有时会出现多余空白页,我也弄不清是怎么回事)
(Tips:两种方法都不能对加密的文件进行转换,要保证有对文档编辑的权限,代码中需要对这种情况做出处理。
另外,一定记得安装office!)
PDF解析呈现则使用了pdf.js,这个使用起来倒是简单,写个iframe,指定src属性就好了,即pdf.js中静态页面的url并附
上文件的路径。可以修改viewer.css及viewer.js来将其调整到自己想要的效果,如左侧侧栏默认展开,屏蔽按钮,工具栏
位置调整等。使用方法可以参照http://blog.csdn.net/xiangcns/article/details/42089189。