php实现word文档在线浏览功能,配置安装手记 (转载)
2016-01-07 09:53
686 查看
一般类似oa或者crm等管理系统可能都会遇到需要再线查看word文档的功能,类似百度文库。记得去年小组中的一个成员负责的项目就需要这个的功能,后面说是实现比较困难,就将就着用chm格式替代了。今天看到网上一遍文章《LINUX下面PHP
文件转换》,介绍怎么样在linux下使用Openoffice 3 , Pdf2Swf tool , Jodconverter ,
FlexPaper,实现文档在线查看。自己再ubuntu下进行的尝试安装,步骤如下:因为ubuntu版本为10.0.4,openoffice已经默认安装。如果没有安装openoffice的话自行谷歌安装。
第一步:安装jodconverter,安装之后可以实现doc文档转成pdf。文件下载地址为http://www.artofsolving.com/opensource/jodconverter
下载了之后直接解压,解压到/opt目录下/opt/jodconverter-2.2.2/,使用到的文件是安装包内的lib/jodconverter-cli-2.2.2.jar。
测试是否可以使用
![](http://laoniangke.com/uploads/2012/10/openoffice1-1024x144.png)
因为JODConverter是通过OpenOffice來做转换的 ,所以使用前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使用. 启动命令
第二步:安装swftools,安装之后可以实现pdf文件转成swf
文档转pdf
其中我测试使用的php脚本调用pdf2swf进行转换文件,生成不了。这样只需配置apache的用户权限即可,确保配置的用户有权限运行pdf2swf命令
默认安装的php环境ubuntu下配置文件是/etc/apache2/apache2.conf修改这两行,
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_USER}配置完之后,重启apache。
/etc/init.d/apache2 restart到此linux下的安装配置就结束了。window下测试下载window下使用的Pdf2Swf tool和FlexPaper,手动的将pdf文件转swf后进行在线查看的功能。步骤整理如下:1.安装Pdf2Swf tool之后,进行将pdf转swf。cmd命令行:
pdf2swf.exe -t D:\wamp5.3\www\test\pdf\c.pdf -s flashversion=9 -o D:\wamp5.3\www\test\swf\c.swf
-t: 源文件路径,即待转换的pdf文件路径。
-s: 设置参数,这里我们设置为 flashversion=9 ,即可以转换为9 的版本啦。
-o: 输出文件的路径,这里我输出到D:盘下运行的结果如图所示:
![](http://laoniangke.com/uploads/2012/10/pdf2swf.png)
2.使用FlexPaper插件显示浏览swf文件。这里下载使用的版本是1.5.8 Flash Version (release notes)。软件包内就已经有html版本的demo,稍微改动下句可以实现了。代码如下:
![](http://laoniangke.com/uploads/2012/10/flexpaper.png)
文件转换》,介绍怎么样在linux下使用Openoffice 3 , Pdf2Swf tool , Jodconverter ,
FlexPaper,实现文档在线查看。自己再ubuntu下进行的尝试安装,步骤如下:因为ubuntu版本为10.0.4,openoffice已经默认安装。如果没有安装openoffice的话自行谷歌安装。
第一步:安装jodconverter,安装之后可以实现doc文档转成pdf。文件下载地址为http://www.artofsolving.com/opensource/jodconverter
下载了之后直接解压,解压到/opt目录下/opt/jodconverter-2.2.2/,使用到的文件是安装包内的lib/jodconverter-cli-2.2.2.jar。
测试是否可以使用
java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/php/1.doc /home/php/1.pdf这里提示缺少java软件包,并会提示几个安装包供。选择我安装openjdk-6-jre-headless,命令如下:
sudo apt_get openjdk-6-jre-headless安装之后再运行上面doc转pdf的命名,会提示openoffice进程未启动,
![](http://laoniangke.com/uploads/2012/10/openoffice1-1024x144.png)
因为JODConverter是通过OpenOffice來做转换的 ,所以使用前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使用. 启动命令
/usr/lib/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &到此运行上面的doc转pdf的命令已经可以成功。
第二步:安装swftools,安装之后可以实现pdf文件转成swf
wget http://www.swftools.org/swftools-0.9.1.tar.gztar xzf swftools-0.9.1.tar.gzcd swftools-0.9.1./configuremakemake install测试是否可以使用
pdf2swf -o /home/php/1.swf -T -z -t -f /home/php/1.pdf -s flashversion=9第三步:用FlexPaper实现在线预览,里面有详细的demo。第四步:使用php测试文档转换命令:
文档转pdf
<?php$doc = './docs/test.txt';$formatName = './pdf/test.pdf';$command = 'java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar '.$doc.' '.$formatName; exec($command);echo 'ok';pdf转swf
<?php$pdf = './pdf/test.pdf';$swf = './swf/test.swf'; $command = '/usr/local/wenku/swftools-0.9.1/src/pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9'; exec($command);echo 'ok';php脚本去运行上面的命令可能存在权限的问题无法执行
其中我测试使用的php脚本调用pdf2swf进行转换文件,生成不了。这样只需配置apache的用户权限即可,确保配置的用户有权限运行pdf2swf命令
默认安装的php环境ubuntu下配置文件是/etc/apache2/apache2.conf修改这两行,
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_USER}配置完之后,重启apache。
/etc/init.d/apache2 restart到此linux下的安装配置就结束了。window下测试下载window下使用的Pdf2Swf tool和FlexPaper,手动的将pdf文件转swf后进行在线查看的功能。步骤整理如下:1.安装Pdf2Swf tool之后,进行将pdf转swf。cmd命令行:
pdf2swf.exe -t D:\wamp5.3\www\test\pdf\c.pdf -s flashversion=9 -o D:\wamp5.3\www\test\swf\c.swf
-t: 源文件路径,即待转换的pdf文件路径。
-s: 设置参数,这里我们设置为 flashversion=9 ,即可以转换为9 的版本啦。
-o: 输出文件的路径,这里我输出到D:盘下运行的结果如图所示:
![](http://laoniangke.com/uploads/2012/10/pdf2swf.png)
2.使用FlexPaper插件显示浏览swf文件。这里下载使用的版本是1.5.8 Flash Version (release notes)。软件包内就已经有html版本的demo,稍微改动下句可以实现了。代码如下:
<script src="js/flexpaper_flash.js" type="text/javascript"></script><a id="viewerPlaceHolder" style="width:680px;height:480px;display:block;"/></a><script type="text/javascript"> var fp = new FlexPaperViewer( 'FlexPaperViewer', 'viewerPlaceHolder', { config : { SwfFile : escape('c.swf'), Scale : 0.1, ZoomTransition : 'easeOut', ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : false, FullScreenAsMaxWindow : false, ProgressiveLoading : false, MinZoomSize : 0.2, MaxZoomSize : 5, SearchMatchAll : false, InitViewMode : 'Portrait', PrintPaperAsBitmap : false, ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true, localeChain: 'en_US' }})</script>到此就结束了,查看效果如图实现:
![](http://laoniangke.com/uploads/2012/10/flexpaper.png)
相关文章推荐
- php composer
- Awesome PHP
- 邮件开发:SMTP协议详解
- Sftp权限设置
- ntp服务端和客户端同步配置
- 我整理的PHP 7.0主要新特性
- 我整理的PHP 7.0主要新特性
- PHP使用trim函数去除字符串左右空格及特殊字符实例
- PHP中ltrim与rtrim去除左右空格及特殊字符实例
- PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
- 使用php+swoole对client数据实时更新(一)
- PHP中addcslashes与stripcslashes函数用法分析
- PHP中substr函数字符串截取用法分析
- WordPress中调试缩略图的相关PHP函数使用解析
- PHP中strcmp()和strcasecmp()函数字符串比较用法分析
- PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
- PHP编程基本语法快速入门手册
- PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
- PHP使用strstr()函数获取指定字符串后所有字符的方法
- PHP中substr_count()函数获取子字符串出现次数的方法