依旧是这个经管的项目。在线预览作为资源和文档管理系统的一个很酷的并且是如此重要的功能,是必须要实现的。然后百度一下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文件的实现与总结的更多相关文章

  1. 在线预览office文件

    Office Online 实现在线预览 office的在线预览,针对不同的浏览器版本和系统具有要求,具体的相关文档请参考官方文档. 利用office online 平台进行office 文档的在线查 ...

  2. 在线预览Office文件【效果类似百度文库】

    引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前项目中是用到公司购买的Ntko控件,该控件每次浏览文件时则会提示安装信任插件,很繁琐,而且浏览效果不好. 提到Offic ...

  3. 在线预览Office文件【效果类似百度文库】(转载)

    转载地址:http://www.cnblogs.com/sword-successful/p/4031823.html 引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前 ...

  4. JAVAWeb项目实现在线预览、打开office文件

    Web项目实现在线预览浏览word.ppt.excel文档方法 调用以下链接 https://view.officeapps.live.com/op/view.aspx?src=你的文档绝对路径 这里 ...

  5. Java实现web在线预览office文档与pdf文档实例

    https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...

  6. 使用pdfjs插件在线预览PDF文件

    前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...

  7. 用pdf.js实现在移动端在线预览pdf文件

    用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js    官网地址:https://mozilla.github.io/pdf.js/ 2.配置    下载下来的文件包,就是一个demo ...

  8. WinForm中预览Office文件

    WinForm预览Office文档 使用WinForm, WPF, Office组件 原理:使用Office COM组件将Word,Excel转换为XPS文档, 将WPF的DocumentViewer ...

  9. asp.net在线预览txt文件(简单实现)

    最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了 txt文件

随机推荐

  1. JavaScript常用的经典小技巧

    1.屏蔽鼠标右键 <--body 方式--> <body oncontextmenu="window.event.returnValue=false"> & ...

  2. js解析json读取List中的实体对象示例

    1.由后台action 传给前台是需要将map 转成json格式 复制代码代码如下: Map<String, List> resultMap: JSONObject json = JSON ...

  3. asterisk 语音文件转换

    Centos wav to sln sox foo-in.wav -t raw -r 8000 -s -2 -c 1 foo-out.sln 当前目录下所有语音wav文件 转换成sln for a i ...

  4. PHP获取本周第一天和最后一天

    //本周的第一天和最后一天  代码如下 复制代码 $date=new DateTime();$date->modify('this week');$first_day_of_week=$date ...

  5. mysql 强制走索引

    查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端.虽然过程 ...

  6. js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)

    一.浏览器同源策略 首先我们需要了解一下浏览器的同源策略,关于同源策略可以仔细看看知乎上的一个解释.传送门 总之:同协议,domain(或ip),同端口视为同一个域,一个域内的脚本仅仅具有本域内的权限 ...

  7. C/C++输入输出总结

    *string类:  1.cin>>string时,遇到'\n'或者空格即停止,并且'\n'或空格仍留在输入里,即只读了一个单词或什么都没读,但string类自己处理好了空字符什么的.下一 ...

  8. 实现android支持多线程断点续传下载器功能

    多线程断点下载流程图: 多线程断点续传下载原理介绍: 在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度手机端下载数据时难免会出现无信号断线.电量不足等情况,所以需要断点续传功能根据下 ...

  9. GDB 进行调试 使用心得

    GDB 进行调试 使用心得 转 1: 对于在应用程序中加入参数进行调试的方法:   直接用 gdb app -p1 -p2 这样进行调试是不行的.   需要像以下这样使用:    #gdb app   ...

  10. PostgreSQL 8.1 中文文档

    PostgreSQL 8.1 中文文档 http://www.php100.com/manual/PostgreSQL8/