您的位置:首页 > 其它

office(ppt,word)文档转swf

2012-10-19 15:28 337 查看
最近公司要弄个在线阅读,就是仿百度文库那种。弄了好几天,终于弄出来,贴出来跟大家分享一下。

这里只写linux(ubuntu)平台的,windows平台的有机会再写吧。

首先我们先准备我们要用的东西

openoffice

swftools

jodconverter-2.2.2(下面有给出源码,源码里面有了,可以不用下载)

openoffice下载安装,以前我没有用过linux,安装弄的我很痛苦。解压,然后进入目录,./configure ,make ,make install (linux高手不要喷我,我承认我对linux很菜) 。

在安装swftools前要先安装一些swftools要用的一些第三方库文件,命令如下。

wget http://nchc.dl.sourceforge.net/project/freetype/freetype2/2.4.8/freetype-2.4.8.tar.bz2
tar xvf freetype-2.4.8.tar.bz2

cd freetype-2.4.8

./configure

make&&sudo make install

wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar xvf jpegsrc.v8d.tar.gz

cd jpegsrc.v8d

./configure

sudo make&&sudo make install

wget http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz
tar xvf zlib-1.2.6.tar.gz

cd zlib-1.2.6

./configure

make&&sudo make install

swftools也是用./configure , make , make install。

然后开始写java代码,代码附件。

代码写好后,写不要急着运行,因为运行会报错。先执行下面的命令,可能会有些错误信息,不用管,然后看下8100端口启用没有。然后再运行java代码。

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

因为公司主要是用PHP开发的,所以,上传文件什么的,都是用PHP,所以,我另外还写了一个servlet。然后用PHP程序来调用这个servlet。PHP调用servlet的代码如下。

$post_field = 'officename=' . urlencode ( '/tmp/demo.ppt' ) . '&pdfname=' . urlencode ( '/tmp/demo.pdf' ) . '&part=' . urlencode ( '/tmp/' ) . '&swfname=' . urlencode ( 'demo.swf' );
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, 'http://192.168.0.8:8080/Demo/OfficeToSwfServlet' );
curl_setopt ( $curl, CURLOPT_POST, 1 );
curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_field );
$info = curl_exec ( $curl );
curl_close ( $curl );
echo $info;


下载代码点这里

如果大家在有什么问题,可以发邮件给我(CodePorter@163.com),我们可以交流一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: