怎么实现php在线演示功能

藏色散人
发布: 2021-09-25 10:13:19
原创
2762人浏览过
php在线演示功能的实现方法:1、将其他格式的文档通过OpenOffice转换成PDF格式文档;2、通过swftools将PDF格式文档转换为swf格式文档;3、通过flexpaper显示swf格式的文档,从而实现预览多种格式的文档即可。

怎么实现php在线演示功能

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

怎么实现php在线演示功能?

Windows下实现php在线预览功能

最近用到文档在线预览功能,之前没接触过,一切从零开始,整了一段时间终于实现,现在把方法分享给大家!

立即学习PHP免费学习笔记(深入)”;

一、主要思路

  先将其他格式的文档(office文档、txt、图片等等)通过OpenOffice转换成PDF格式文档,然后通过swftools(http://www.swftools.org/)将PDF格式文档转换为swf格式文档,最后通过flexpaper显示swf格式的文档,从而实现预览多种格式的文档。

  使用到的工具自己从网上下载,很好找的。

二、实现过程

  1.其他文档转为PDF

   用命令启动OpenOffice:

      运行->cmd,输入下面的命令

cd /d E:/openoffice/program & soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
登录后复制

      或者在cmd中进入program目录,然后输入

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
登录后复制

   php实现代码:     

 set_time_limit(0); 
                         function MakePropertyValue($name,$value,$osm){  
                               $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");  
                               $oStruct->Name = $name;  
                               $oStruct->Value = $value;  
                               return $oStruct;  
                       }  
                       function word2pdf($doc_url, $output_url){  
                             $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");  
                             $args = array(MakePropertyValue("Hidden",true,$osm));  
                             $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");  
                             $oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args);  
                             $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));  
                             $oWriterDoc->storeToURL($output_url,$export_args);  
                             $oWriterDoc->close(true);  
                       } 
                       $doc_file = 'D:/wamp/www/onlineread/uploads/docfile.doc';  
                       $output_file = 'D:/wamp/www/onlineread/uploads/pdffile.pdf'; 
                       $doc_file = "file:///" . $doc_file;  
                       $output_file = "file:///" . $output_file;
                       word2pdf($doc_file,$output_file);
登录后复制

  2.PDF转换为swf并显示

     php实现代码:

<div style="width:100%;height:800px;display:block;margin-left: auto;margin-right: auto; margin-top: 20px;">
         <a id="viewerPlaceHolder" style="width:100%;height:800px;display:block;"></a>  
         <script type="text/javascript">
           var path="/<?=$convert?>";//调用php的变量,如果不能实现可考虑下一句的写法
           //var path="/<?php echo $convert?>";
             var fp = new FlexPaperViewer(
             '__PUBLIC__/FlexPaper/FlexPaperFlash/FlexPaperViewer',
             'viewerPlaceHolder', { config : {//配置参数,可自行修改成自己想要的
               SwfFile : escape(path),
               Scale : 1,
               ZoomTransition : 'easeOut',
               ZoomTime : 0.5,
               ZoomInterval : 0.2,
               FitPageOnLoad : false,
               FitWidthOnLoad : false,
               PrintEnabled : true,
               FullScreenAsMaxWindow : false,
               ProgressiveLoading : false,
               MinZoomSize : 0.2,
               MaxZoomSize : 5,
               SearchMatchAll : false,
               InitViewMode : 'Portrait',
               ViewModeToolsVisible : true,
               ZoomToolsVisible : true,
               NavToolsVisible : true,
               CursorToolsVisible : true,
               SearchToolsVisible : true,
               localeChain: 'en_US'
           }});
         </script>
       </div>
登录后复制

  3.运行前的准备

    需要先进行如下的设置,否则运行过程中可能会出错!

    控制面板-管理工具-组件服务-计算机-我的电脑-DOCM配置,找到OpenOffice Service Manager(Ver 1.0)右键属性,按下图所示进行配置:

国洋商务通
国洋商务通

Gyb2b V1.01免费版可终身使用,是一款功能强大的B2B电子商务应用软件。该软件不仅更新和修改了V1.0相关功能,更是采用了目前互联网上最流行的LAMP组合(Linux+Apache+Mysql+PHP)开发完成,模板技术实现了界面与代码的有效分离,用户可以快速地在此基础上编译模板;提供B2B电子商务应用最常见的求购、供应、商品、公司库、行业资讯、商圈、资信认证、在线交易、交易评分、留言、搜

国洋商务通 0
查看详情 国洋商务通

                如下图所示找到OpenOffice Service Manager(Ver 1.0):

 

                  在弹出框中选择‘安全’,分别编辑‘启动和激活权限’和‘访问权限’:

                    在‘启动和激活权限’弹出框中点击添加,输入Everyone:

                    设置Everyone的权限:

                  在‘访问权限’的弹出框中点击添加,输入Everyone:

                

                    设置Everyone权限:

                  在属性对话框中选择‘标识’,选择‘交互式用户’:

  

 

    如果遇到COM类实例化失败的问题,打开php配置文件,去掉com.allow_dcom=true前面的分号,并添加extension=php_com_dotnet.dll,因为php5.4以后就不内嵌com了。

   设置好后不要忘记重启服务哦!

    推荐学习:《PHP视频教程

以上就是怎么实现php在线演示功能的详细内容,更多请关注php中文网其它相关文章!

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号