经管资源库项目总结----在线预览office文件的实现与总结

  依旧是这个经管的项目。在线预览作为资源和文档管理系统的一个很酷的并且是如此重要的功能,是必须要实现的。然后百度一下office在线预览,看起来so eazy啊,各种博客各种demo,一下子就做出效果来了。开始时我采用的方法是用openoffice+jobconverter+swftools+fexpaper的方式。参考博客:http://blog.csdn.net/sunny_sailor/article/details/7311411

 

 

后来发现,还是有很多问题的。比如首先每次都要注册windows服务,很是麻烦,(后来发现是自己注册服务的方式不对。)然后在另一篇博客上发现jobconverter 3可以直接启动openoffice服务(之前用的是2.2的版本)。参考博客:http://www.cnblogs.com/luckyxiaoxuan/archive/2012/06/14/2549012.html

注:最新版的libreoffice支持命令行调用进行转换:http://www.cnblogs.com/Mr-Nobody/p/3537072.html 

 

再如,这个就比较严重了。我上传的一个电路课的课堂ppt在转换的过程中swftools直接进程终止,转换失败。。。悲剧了,因此首先我在资源展示的部分多一条显示转换成功还是失败的提示,功能也许比不上别人,但是体验方面总不能比别人差。然后又是一顿谷歌百度加360搜索,并且根据转换失败的ppt的特征猜测原因,估计是这个ppt 的图像比较多比较复杂导致的。最终发现了一个博客正好有我的问题的解决办法:http://blog.163.com/bgh1988@126/blog/static/10588885920132265193446/

这个部分比较重要,就复制过来了。

 

swftools中的pdf2swf转换Error overflow ID 65535 解决办法  

2013-03-26 17:19:34|  分类: php |字号 订阅
     近几日因为项目需要在线转换pdf到swf实现电子期刊阅读,用到了这个工具,版本是:swftools-0.9.2.tar.gz 当 然也遇到了很头疼的问题,那就是在转换pdf中色彩图形比较复杂的页时会抛出错误,有猿友说加上-s poly2bitmap参数就可以解决,可是我告诉 你加上-s poly2bitmap参数在0.9.2版本中是存在bug的,转换后的swf会缺少白色背景,无奈最终解决方案只好将版本降低为两年前的 swftools-0.9.1版本了。
       由于0.9.1版本存在字体问题,转换时只加上-s poly2bitmap是不可取的,你会发现报出一堆缺少字体的错误,这个时候在加上一个-S参数即可完美解决!

      @解决方案: 适用swftools-0.9.1版本的源码包

                             在执行转换的命令中加上 -S 不使用字体,字体都转为形状

      0.9.1版本下完整命令如下:pdf2swf  xx.pdf -o %.swf -s poly2bitmap -S

      

 

如果你确定你的pdf不会有那么复杂的图案或则色彩比较单调,还是使用0.9.2吧

   0.9.2命令:pdf2swf xx.pdf -o %.swf -t -f -T 9
swftools中的pdf2swf转换Error overflow ID 65535 解决办法

 

 

去swftool官网上找不到老版本的,于是百度了一个,试了一下,果然可以转换成功了。(第一个比较严重的bug解决。)

 

 

然后满以为这一块基本上大功告成了,结果在做前台页面时,我一时兴起把之前大家做的这个项目的需求分析的文档上传上去了,结果一上传,又悲剧了。。大量的word文档转换失败。。。不过这个问题还算比较明显,是openoffice的原因。因为我直接用openoffice打开这个文档都打不开,汗~~但是这个文档无论是msoffice还是 wps都可以打开,而且本身就是wps做的。此时想起jodconverter不仅支持openoffice,还支持openoffice的分支libreoffice,于是就下载了最新的libreoffice,下载-安装-和openoffice看起来差不多。。但是可喜 的是libreoffice可以打开这类文档!!!。不过在修改officehome配置之后,发现joboffice无法开启服务。。。此时百度谷歌+360搜索都悲剧了,大部分都是关于openoffice的,很少关于libreoffice的。直到在开源中国看到有人讨论,有人说是因为libreoffice的编程接口在3.6之后变化较大,jodconverter可能不支持了。。改用3.4版本就行啦。可悲的是在网上根本找不到3.4版本的了,亏我偌大一个天朝,各种版本msoffice的破解到处都有,然而开源又免费的libreoffice的下载地址却只有最新的版本,历史版本几乎找不到。。官网上都没有。这时 我只能被迫使出我的自制盘搜神器-360极速浏览的一款盘搜插件,然而依然找不到。。。最终还是使用盘搜网找到的。然后下载-安装-修改配置。终于成功了。。。。

 

最后奉上demo地址和libreoffice3.4(几乎全网绝版,下载地址只有那么几个)

以及 swftools的参数详解:http://www.cnblogs.com/carpe-diem/articles/2306189.html

 

demo:http://awj4stba8l.l4.yunpan.cn/lk/Q9c2CiFSi8Xfn

 

libreoffice3.4:http://awjpcaagj6.l4.yunpan.cn/lk/Q9ckdgi7ik6KV

 

 

posted @ 2013-10-29 22:32  Zane Young  阅读(825)  评论(0编辑  收藏  举报