经管资源库项目总结----在线预览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文件
随机推荐
- button倒计时可点击
- asp.net微信支付打通发货通知代码
上次遇到微信支付,发货接口的时候,官方的demo也没有提供相应的代码 ,因本人技术有限,百度 google 很久都没有asp.net 版本的,最后只好硬着头皮自己搞,没想到官方文档也是错的. 我这一步 ...
- ubuntu共享文件夹给virtualbox
在ubuntu或者linuxmint等linux系统下安装了virtualbox,可以通过共享文件夹的方式,把文件夹共享给virtualbox下的虚拟机系统,我这里的虚拟机系统是win7,共享过程如下 ...
- jBPM - jBPM Installer
Prerequisites This script assumes you have Java JDK 1.6+ (set as JAVA_HOME), and Ant 1.7+ installed. ...
- JS定位PDF页码。
由于项目中的PDF文章段落标题有些是英文,对其翻译后需要定位到具体的页码. 查询相关资料及进行尝试后发现可以用如下方法可以实现 function gotoPage(page) { ...
- php如何判断是否为json数据(格式)
首先要记住json_encode返回的是字符串, 而json_decode返回的是对象. 判断数据不是JSON格式: 代码如下 复制代码 function is_not_json($str){ ...
- EF查询生成的SQL
在EF 4和EF 3.5 SP1中,我们可以使用ToTraceString()方法得到EF查询所生成的SQL. using (var context = new TestDBEntities()) { ...
- Spring事务配置的五种方式(转发)
Spring事务配置的五种方式(原博客地址是http://www.blogjava.net/robbie/archive/2009/04/05/264003.html)挺好的,收藏转发 前段时间对Sp ...
- template_1
0: 模板是一些为多种类型而编写的函数和类,而且这些类型都没有指定.当使用模板的时候,只需要把所希望的类型作为一个(显示或隐示的)实参传递给模板.模板是语言本身所具有的特效,她完全支持类型检查和作用域 ...
- [转]C#发送Email邮件 (实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用:using System.Net.Mail;using System.Text;using System.Net; 程序 ...