在线预览功能的实现

所谓在线预览分为两部分:需要预览的文件转换为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。

你可能感兴趣的:(开发笔记)