经管资源库项目总结----在线预览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
经管资源库项目总结----在线预览office文件的实现与总结的更多相关文章
- 在线预览office文件
Office Online 实现在线预览 office的在线预览,针对不同的浏览器版本和系统具有要求,具体的相关文档请参考官方文档. 利用office online 平台进行office 文档的在线查 ...
- 在线预览Office文件【效果类似百度文库】
引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前项目中是用到公司购买的Ntko控件,该控件每次浏览文件时则会提示安装信任插件,很繁琐,而且浏览效果不好. 提到Offic ...
- 在线预览Office文件【效果类似百度文库】(转载)
转载地址:http://www.cnblogs.com/sword-successful/p/4031823.html 引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前 ...
- JAVAWeb项目实现在线预览、打开office文件
Web项目实现在线预览浏览word.ppt.excel文档方法 调用以下链接 https://view.officeapps.live.com/op/view.aspx?src=你的文档绝对路径 这里 ...
- Java实现web在线预览office文档与pdf文档实例
https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...
- 使用pdfjs插件在线预览PDF文件
前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...
- 用pdf.js实现在移动端在线预览pdf文件
用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js 官网地址:https://mozilla.github.io/pdf.js/ 2.配置 下载下来的文件包,就是一个demo ...
- WinForm中预览Office文件
WinForm预览Office文档 使用WinForm, WPF, Office组件 原理:使用Office COM组件将Word,Excel转换为XPS文档, 将WPF的DocumentViewer ...
- asp.net在线预览txt文件(简单实现)
最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了 txt文件
随机推荐
- centos 安装ss-QT5
方法一(DNF指令): 1.如果未安装DNF,请跳转至:http://dev.fjuts.com:83/blog/index.PHP/Linux/261.html2.添加shadowsocks 的 c ...
- 分享我的2014年3月unity3d面试题与参考答案
今年3月份面试unity3d游戏程序,先做的面试题,然后人事问了我几个之前游戏开发的问题,问我英语怎么样等等,介绍了公司情况和对unity3d程序的要求.之后就回来了,总共面了不到1个半小时吧.笔试答 ...
- [转载]IIS下开启php扩展失效? 感谢作者 本人泪流满面
用户反应,空间不支持GD.系统环境是IIS PHP. 先用phpinfo探了一下,确实没有找到gd的影子.然后检查php.ini,发现gd扩展没有开启(windows下安装的php,其所有php扩 ...
- HLG 1400 汽车比赛
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1400 结构体排序+树状数 ...
- 关于apache Alias斜杠/的实验
1.Alias /icons/ "D:/wamp/bin/apache/Apache2.2.17/icons/" 访问http://localhost/icons/正常,访问htt ...
- MVC3缓存:使用页面缓存
在以前的WebForm的开发中,在页面的头部加上OutputCache即可启用页面缓存,而在MVC3中,使用了Razor模板引擎的话,该如何使用页面缓存呢?如何启用 在MVC3中要如果要启用页面缓存, ...
- DTCMS视频模版更改,
1.去掉style.css中视频的高度 .video-box{ position:relative; width:100%; height:473px; _clear:both; _display:i ...
- [转]Excel生成批量SQL语句,处理大量数据的好办法
当有大量重复体力工作写入或修改数据到数据库中时,可以 第一,将Excel数据整理好了之后,通过SQL的导入功能直接导进数据库,但是得保证数据库字段和Excel的字段一致. 第二,通过Excel来生成对 ...
- 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值(转载)
1.阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 ...
- PHP中使用多线程
<?php while(1)//循环采用3个进程 { //declare(ticks=1); $bWaitFlag= FALSE; // 是否等待进程结束 //$bWaitFlag = TRUE ...