上传pdf,word,ppt文档转化为在线阅读的flash文档
一个朋友提出的需求, 想让我帮忙看看,所以自己就简单分析了下, 就是实现类似豆丁和百度文库的功能, 问了下 laruence ,讨论了下 大概有了个思路,方案是:
1 pdf在linux下有命令行的工具可以转化为flash
2 word ,ppt 通过openoffice的服务模式可以在命令行下转化为pdf , 再使用步骤1 就可以了,这里有一个文档介绍:
http://www.artofsolving.com/opensource/pyodconverter
这样, 可以写一个脚本程序来串联整个流程(如果做成工具的话,就不能再图形界面环境下实现这个)。
里面比较麻烦的是word ,ppt to pdf的步骤,我简单在我的vps上尝试一下:
运行 soffice -accept=”socket,port=8100;urp;” 输出:
/usr/lib64/openoffice.org3/program/soffice.bin X11 error: Can‘t open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
所以要做两件事情, 1 建立java运行时环境 2 处理display问题
首先下载并安装最新的jdk :
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter;pgid=yYdgaHqkkjVSR0EUPIQsoQ3D0000U2mCVFtF;sid=4k13hkOCk7F3hw–tOL-eFMsxz6zu5DCPg6VLoVcx7E7hi12yJM=?DLWidget=true&AutoWidgetDL=&ADWOptLoginReg=fromLogin
第二个问题的解决方案 ,发现了这个帖子:
http://www.linuxforums.org/forum/linux-desktop-x-windows/1633-use-dummy-display.html
思路是使用Xvfb来没有显示设备的情况下在内存虚拟一个framebuffer 。
运行之:[rainx@vps ~]$ sudo Xvfb :1 -screen 0 800x600x16
再次运行 soffice :
sudo soffice -accept=”socket,port=8100;urp;” -display :0
PS: 之后又找到一个哥们用类似的方式搞vmware的 :http://www.ixpub.net/thread-2264906-1-1.html
进行转换 :
-rw-r–r– 1 rainx rainx 51823 Jul 13 20:54 who.docx
-rw-r–r– 1 root root 690854 Jul 13 20:55 who.pdf
who.pdf 就是转换好的文档了, 可以看到转换后的文件还是很大的,不过用阅读器看下,效果还可以..
Ok, 先到这里,后面继续搞pdf 转换为flash文件的部分
原文(二、三……):http://rainx.cn/blog/archives/140
本文出自 传播、沟通、分享,转载时请注明出处及相应链接。
本文永久链接: https://www.nickdd.cn/?p=1123