千家信息网

如何实现php在线演示功能

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,如何实现php在线演示功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php在线演示功能的实现方法:1、将其他格式的文
千家信息网最后更新 2025年01月19日如何实现php在线演示功能

如何实现php在线演示功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

本文操作环境: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实现代码:

                           

  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了。

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0