在线文档的协同浏览 doc pdf ppt ---> swf 的转换
2009-06-04 17:50
585 查看
在线文档的协同浏览 doc pdf ppt ---> swf 的转换
文章来源:http://www.javaeye.com/topic/392457以前我刚工作的时候,做一个视频的项目,用的是flash media server 和flash。其中有个需求是在线的文档协同浏览,也就是,用户上传一个word文档,ppt,pdf之类的,然后在浏览器里显示出来,还可以在上面涂涂画画的,并且是所有用户都能看见的。当时为文档的转换很头疼,一直也没有好的方法,不过这个项目最后也没成功。
以前的那种转换的思路不是很好,是将doc转换为图片,然后再操作,用了一个c库,还非要在windows上搞。现在竟然又要做一个在线文档转换和协同浏览的功能,不过换了一种思路,而且方法也成熟可靠很多。
现在的思路是 doc,ppt,excel ,txt --->pdf ---> 分割pdf ----> pdf --->swf 。这样就可以分别操作每一页的文档了。
首先 我们要做的就是把doc 转换 为pdf ,这个用OpenOffice很方便的。服务器用的是linux,我装的是ooo3。装ooo的时候记得装pyuno bridge组件。然后我们需要用到unoconv
,这其实是一个python文件,调用ooo来转换各种文档,比如,将a.doc转换为pdf ,那么只需要 unoconv -f pdf a.doc 就会生成一个a.pdf 。在使用unoconv的时候有两个需要注意的问题。
第一个就是需要 x-server ,如果没有x,在转换的时候会报这样的错误:
/usr/lib/openoffice.org/program/soffice.bin X11 error: Can't open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
但是我是有x桌面的,在转换的时候仍然会有这样的错误,解决的方法是导入环境变量 exprot DISPLAY=localhost:1 ,这样就能成功转换,但是,作为服务器是不开 x 的。解决方法是虚拟一个x 桌面 ,详情请 猛击这里
还有一个问题,非常的恶心。每次从windows上传txt格式的文档,openoffice都报错说不能识别。我认为是编码的问题,于是我在文件上传的过程中都将文本从gb2312 转换为 utf-8 , 但是仍然不能识别。后来发现竟然是windows的换行符 。把 windows的换行符替换为 \n ,就解决了这个问题。
接下来我们需要分割pdf,每一页一个小pdf,我用的是java的iText库。
最后把pdf转换为swf ,用swftools
,有deb格式的,可以 apt-get install swftools ,如果用其他版本的系统,只有自己编译了。编译的时候需要一些开发库 libgif-dev jpeglib-dev freetype-dev 之类的,也都要装上。剩下的 make和make install 就可以了。编译好以后可以得到一些可执行程序,其中pdf2swf就是我们需要的 pdf2swf path/xx.pdf -o path/xx.swf 就能转换了
能够转换以后,写程序串联起来,分别调用这些命令,就可以了。我是用python写的,经过一些简单的测试,效果不错。
相关文章推荐
- office(doc,xls,txt,pdf,ppt)文档在线预览及转换(office2pdf) - PHP版
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- (四)java实现文档的在线浏览-使用swftools将pdf转换为swf
- (五)java实现文档的在线浏览-转换pdf的同时转为swf
- asp.net结合flashpaper实现doc/pdf/ppt文档在线浏览
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- asp.net结合flashpaper实现doc/pdf/ppt文档在线浏览
- jacob操作doc/ppt/xls/wps/dps/et 转换为PDF 、jacob操作页眉页脚和文档位置
- flexpaper 在线观看 PPT,PDF,DOC等文档
- (三)java实现文档的在线浏览-使用JODConverter将office文档转换为pdf
- 实现Word、Excel、Txt文档在线转换为Swf(或PDF)
- [文档格式转换神器]pdf,jpg,xps转doc,xls,ppt等office格式
- 利用OpenOffice.org和Swftools进行实现—doc-->pdf-->swf--格式的转换
- 在线完成DOC等格式文档与PDF文件的相互转换
- 在线将ppt转换到pdf文档
- 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览
- 在线ppt文件格式转换pdf文档文件
- openoffic+java+spring 多线程 转换doc,ppt,xls -> html/pdf
- 利用 jodconverter 和openoffice 结合 把doc、ppt 等一系列文档转换成pdf
- 在线文档格式转换API word,excel,ppt等在线文件转pdf、png