怎么实现php在线演示功能

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

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

Windows下实现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)右键属性,按下图所示进行配置:

                如下图所示找到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在线演示功能的详细内容,更多请关注编程界其它相关文章!

--结束END--

本文标题: 怎么实现php在线演示功能

本文链接: https://www.lsjlt.com/news/155.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

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

    php在线演示功能的实现方法:1、将其他格式的文档通过OpenOffice转换成PDF格式文档;2、通过swftools将PDF格式文档转换为swf格式文档;3、通过flexpaper显示swf格式的文档,从而实现预览多种格式的文档即可。
    阅读数:547 php
  • php怎么实现在线直播功能

    php实现在线直播功能的方法:1、在控制台找到直播云服务,创建直播云空间;2、按需要将域名解析出来;3、安装composer包;4、通过liveStart方法实现直播即可。
    阅读数:398 php 直播
  • 怎么用CSS+jQuery+PHP+MySQL实现的在线答题功能

    这篇“怎么用CSS+jQuery+PHP+MySQL实现的在线答题功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C
    阅读数:314 css jquery php
  • 基于PHP实现一个简单的在线聊天功能

    这篇文章主要介绍了基于PHP实现一个简单的在线聊天功能,对类似功能感兴趣的同学,要着重看一下
    阅读数:887 PHP 在线聊天
  • php怎么实现关注功能

    php实现关注功能的方法:1、创建控制层实现代码“namespace App\Controller\Test...”;2、设计服务层实现代码“namespace App\Service\Ptg...”;3、设置好仓储层代码即可。
    阅读数:449 php
  • php相册功能怎么实现

    php相册功能的实现方法:1、创建相册首页并实现分页效果;2、创建后台处理页面;3、实现相册上传页面;4、定义图片浏览功能;5、通过“unlink($imgfile);”等语句实现删除图片功能即可。
    阅读数:482 php 相册功能
  • php怎么实现插件功能

    php实现插件功能:1、新建函数文件“function.php”,代码内容是“function addAction($hook, $actionFunc){...}”;2、确认插件的Hook点,设置钩子埋入点;3、建立“check_all.php”和“login.php”两个文件,然后在“check_all.php”文件中写入“addAction(...)”即可。
    阅读数:924 插件 php
  • 怎么用PHP实现支付宝和微信扫码在线支付的功能

    本篇内容介绍了“怎么用PHP实现支付宝和微信扫码在线支付的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP支付宝和微信扫码在线支付实
    阅读数:142 php
  • php怎么实现加好友功能

    php实现加好友功能的方法:1、把好友申请储存到申请数据表中;2、查询申请表;3、实现删除好友;4、创建分组名称字段;5、查询并列出数据表信息即可。
    阅读数:532 php
  • php代码怎么实现红包功能

    php代码实现红包功能的方法:1、通过distribute_red_bages方法实现拼手气红包;2、通过average_red_bages方法实现均分红包;3、通过rob_red_bages方法实现规定红包数。
    阅读数:818 php 红包
  • php商城秒杀功能怎么实现

    php商城秒杀功能的实现方法:1、打开php文件,连接redis数据库;2、创建待抢购商品的list列表;3、模拟用户请求并设置随机获取10名用户表示抢购成功;4、判断抢购列表中是否已存在该用户并获取列表中所有的数据;5、将redis中已抢购的用户保存到数据库中即可。
    阅读数:856 php
  • php 怎么实现大转盘功能

    php实现大转盘功能的方法:1、拼装奖项数组,代码如“$prize_arr = array(...)”;2、计算中奖概率;3、返回中奖情况即可。
    阅读数:243 php 大转盘
  • PHP基础用法讲解及phpinfo();演示

    在这个abc.php文件中写入如下代码。php phpinfo(); >你将会看到一个网页,网页内容通常,如下图所示:用中文翻译这句话给你听php phpinfo(); >刚刚我们看到这个代码已然生成了一个网页。不明白其中的意思,现在我一点一点跟大家解释。
    阅读数:854 PHP基础用法 phpinfo();
  • php怎么实现扫一扫功能

    php实现扫一扫功能的方法:1、生成二维码,生成一个唯一标识uuid,并使用redis保存临时信息;2、通过一个长连接维持用户请求和服务器之间的通信;3、使用手机扫描二维码获取唯一标识uuid,并判断该标识是否有效。
    阅读数:908 php 扫一扫
  • php怎么实现人员信息搜索的功能

    php实现人员信息搜索的功能的方法:1、创建conn.php文件连接人员信息数据库;2、创建index.php文件;3、通过“ if(isset($_POST["flag"])){...}”等语句实现人员搜索功能即可。
    阅读数:755 PHP MySQL
  • php怎么实现留言板删除功能

    php实现留言板删除功能的方法:1、创建update.php文件;2、通过“public function delete(){require_once 'config.inc.php'...}”方法实现留言板删除功能即可。
    阅读数:361 php
  • PHP中怎么利用WebSocket实现一个在线聊天通讯系统

    今天就跟大家聊聊有关PHP中怎么利用WebSocket实现一个在线聊天通讯系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。新建WebSocket.php控制器:(监听端口要确认服务
    阅读数:426 php websocket
  • php怎么实现发送验证码的功能

    php实现发送验证码功能的方法:1、创建好HTML和js文件;2、创建“Msm.php”文件,内容为“public function sendmsm(){...}”;3、通过CURL发送HTTP请求即可。
    阅读数:180 php 验证码
  • php怎么实现关键字搜索功能

    php实现关键字搜索功能的方法:1、创建数据库;2、获取输入的关键字;3、进行数据库连接;4、将书名中或者描述中包含关键字文字的记录查询出来,并把查询到的结果循环显示出来即可。
    阅读数:924 PHP 关键字 搜索 描红
  • PHP实现排序功能总结

    本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于排序功能的相关问题,通过实例完成php+mysqli排序功能的实现,下面一起来看一下,希望对大家有帮助。和大家一起完成php+mysqli排序功能的实现.一、sql:-- phpMyAdmin SQL Dump-- version 4.5.1-- http://www.phpmyadmin.net---- Host: 127.0.0.1--
    阅读数:229 php