php在线预览word
⼀般类似oa或者crm等管理系统可能都会遇到需要再线查看word⽂档的功能,类似百度⽂库。
记得去年⼩组中的⼀个成员负责的项⽬就需要这个的功能,后⾯说是实现⽐较困难,就将就着⽤chm格式替代了。今天看到⽹上⼀遍⽂章《LINUX下⾯PHP⽂件转换》,介绍怎么样在linux下使⽤Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper,实现⽂档在线查看。
⾃⼰再ubuntu下进⾏的尝试安装,步骤如下:
因为ubuntu版本为10.0.4,openoffice已经默认安装。如果没有安装openoffice的话⾃⾏⾕歌安装。
第⼀步:安装jodconverter,安装之后可以实现doc⽂档转成pdf。
1. 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,命令如下:
1. sudo apt_get openjdk-6-jre-headless
安装之后再运⾏上⾯doc转pdf的命名,会提⽰openoffice进程未启动,
因为JODConverter是通过OpenOffice來做转换的,所以使⽤前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使⽤. 启动命令
1. /usr/lib/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
到此运⾏上⾯的doc转pdf的命令已经可以成功。
第⼆步:安装swftools,安装之后可以实现pdf⽂件转成swf
1. wget /swftools-0.9.
2. tar xzf swftools-0.9.
3. cd swftools-0.9.1
4. ./configure
5. make
6. make install
测试是否可以使⽤
1. pdf2swf -o /home/php/1.swf -T -z -t -f /home/php/1.pdf -s flashversion=9
第三步:⽤FlexPaper实现在线预览,⾥⾯有详细的demo。
第四步:使⽤php测试⽂档转换命令:
⽂档转pdf
1. <?php
2. $doc = './';
3. $formatName = './pdf/test.pdf';
4. $command = 'java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar '.$doc.' '.$formatName;
5.
6. exec($command);
7. echo 'ok';
pdf转swf
1. <?php
2. $pdf = './pdf/test.pdf';
3. $swf = './swf/test.swf';
怎么安装php4.
5. $command = '/usr/local/wenku/swftools-0.9.1/src/pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9';
6.
7. exec($command);
8. echo 'ok';
php脚本去运⾏上⾯的命令可能存在权限的问题⽆法执⾏
其中我测试使⽤的php脚本调⽤pdf2swf进⾏转换⽂件,⽣成不了。这样只需配置apache的⽤户权限即可,确保配置的⽤户有权限运⾏
pdf2swf命令
默认安装的php环境ubuntu下配置⽂件是/etc/f修改这两⾏,
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命令⾏:
< -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:盘下
运⾏的结果如图所⽰:
2.使⽤FlexPaper插件显⽰浏览swf⽂件。这⾥下载使⽤的版本是1.5.8 Flash Version (release notes)。软件包内就已经有html版本的demo,稍微改动下句可以实现了。
代码如下:
1. <script src="js/flexpaper_flash.js" type="text/javascript"></script>
2. <a id="viewerPlaceHolder" /></a>
3. <script type="text/javascript">
4. var fp = new FlexPaperViewer(
5. 'FlexPaperViewer',
6. 'viewerPlaceHolder', { config : {
7. SwfFile : escape('c.swf'),
8. Scale : 0.1,
9. ZoomTransition : 'easeOut',
10. ZoomTime : 0.5,
11. ZoomInterval : 0.2,
12. FitPageOnLoad : true,
13. FitWidthOnLoad : false,
14. FullScreenAsMaxWindow : false,
15. ProgressiveLoading : false,
16. MinZoomSize : 0.2,
17. MaxZoomSize : 5,
18. SearchMatchAll : false,
19. InitViewMode : 'Portrait',
20. PrintPaperAsBitmap : false,
21.
22. ViewModeToolsVisible : true,
23. ZoomToolsVisible : true,
24. NavToolsVisible : true,
25. CursorToolsVisible : true,
26. SearchToolsVisible : true,
27.
28. localeChain: 'en_US'
29. }})
30. </script>
到此就结束了,查看效果如图实现:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论