将word转化为swf 如同百度文库般阅读实现思路及代码


Posted in PHP onAugust 09, 2013
<SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif">实现如同百度文库那样类似功能需要进行一系列转化,一般流程想将word转化为pdf格式,再将pdf格式转化为swf格式。在网页上显示其实都是swf格式内容。</SPAN>

首先将word转化为swf,需要调用com组件,可以通过office 或者wps进行转化,但我尝试都没有成功,最后通过OpenOffice 4.0.0 进行转化才成功,OpenOffice 4.0.0支持windows 和linux操作系统,故需要先下载openOffice,官网上应该有。将word转化为pdf,好像只是支持英文的标题的文档,不支持汉文名字文档,可以先将文件重新命名为英文,转化之后再将文件变为汉文即可,可能还需要开始openoffice 服务,上图
将word转化为swf 如同百度文库般阅读实现思路及代码 
验证服务是否开启,上图
将word转化为swf 如同百度文库般阅读实现思路及代码 
代码如下:
<PRE class=php name="code"><?php 
class RunTime//页面执行时间类 
{ 
private $starttime;//页面开始执行时间 
private $stoptime;//页面结束执行时间 
private $spendtime;//页面执行花费时间 
function getmicrotime()//获取返回当前微秒数的浮点数 
{ 
list($usec,$sec)=explode(" ",microtime()); 
return ((float)$usec + (float)$sec); 
} 
function start()//页面开始执行函数,返回开始页面执行的时间 
{ 
$this->starttime=$this->getmicrotime(); 
} 
function end()//显示页面执行的时间 
{ 
$this->stoptime=$this->getmicrotime(); 
$this->spendtime=$this->stoptime-$this->starttime; 
//return round($this->spendtime,10); 
} 
function display() 
{ 
//$this->end(); 
echo "<p>运行时间:".round($this->spendtime,10)."秒</p>"; 
} 
} 
/*调用方法 */ 
$timer=new Runtime(); 
$timer->start(); 
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); 
} 
$output_dir = "C:/"; 
$doc_file = "C:/t.doc"; 
$pdf_file = "9.pdf"; 
$output_file = $output_dir . $pdf_file; 
$doc_file = "file:///" . $doc_file; 
$output_file = "file:///" . $output_file; 
word2pdf($doc_file,$output_file); 

$timer->end(); 
$timer->display(); 
?></PRE><BR> 
<P></P> 
<PRE></PRE> 
<P></P> 
<P><BR> 
</P> 
花费时间进行分析: 
<P>将一个大小为1.48M的word文档转化为pdf需要<SPAN style="FONT-FAMILY: Simsun; FONT-SIZE: 14px">运行时间:1.3652579784秒</SPAN> 自己电脑是这个时间,自己测试</P> 
<P><BR> 
</P> 
<P>其次将pdf转化为swf,需要运用另外一个软件,swftools  通过代码调用cmd命令,直接上代码</P> 
<P><PRE class=php name="code"><?php 
class RunTime//页面执行时间类 
{ 
private $starttime;//页面开始执行时间 
private $stoptime;//页面结束执行时间 
private $spendtime;//页面执行花费时间 
function getmicrotime()//获取返回当前微秒数的浮点数 
{ 
list($usec,$sec)=explode(" ",microtime()); 
return ((float)$usec + (float)$sec); 
} 
function start()//页面开始执行函数,返回开始页面执行的时间 
{ 
$this->starttime=$this->getmicrotime(); 
} 
function end()//显示页面执行的时间 
{ 
$this->stoptime=$this->getmicrotime(); 
$this->spendtime=$this->stoptime-$this->starttime; 
//return round($this->spendtime,10); 
} 
function display() 
{ 
//$this->end(); 
echo "<p>运行时间:".round($this->spendtime,10)."秒</p>"; 
} 
} 
/*调用方法 */ 
$timer=new Runtime(); 
$timer->start(); 

//调用系统软件 
$command = "\"C:\Program Files\SWFTools\pdf2swf.exe\" -t C:\8.pdf -s flashversion=9 -o C:\m.swf"; 
echo $command; 
exec($command); 
echo 'ok'; 

$timer->end(); 
$timer->display(); 
?></PRE><BR> 
将刚才转化而来的pdf转化为swf文件需要用<SPAN style="FONT-FAMILY: Simsun; FONT-SIZE: 14px">运行时间:1.3119211197秒时间</SPAN><P></P> 
<P><SPAN style="FONT-FAMILY: Simsun; FONT-SIZE: 14px">最后则是将swf文件显示在网页中,这一步需要引入多个js文件和其他文件,代码就不写了,直接下载,在我的上传资料中</SPAN></P> 
<P><BR> 
</P> 
<P><BR> 
<BR> 
</P> 
<P><BR> 
</P>
PHP 相关文章推荐
转换中文日期的PHP程序
Oct 09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
php实现向javascript传递数组的方法
Jul 27 PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 PHP
php处理带有中文URL的方法
Jul 11 PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
php var_export与var_dump 输出的不同
Aug 09 #PHP
页面乱码问题的根源及其分析
Aug 09 #PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 #PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 #PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 #PHP
php接口与接口引用的深入解析
Aug 09 #PHP
解析数组非数字键名引号的必要性
Aug 09 #PHP
You might like
php include类文件超时问题处理
2015/02/06 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
详解django中自定义标签和过滤器
2017/07/03 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
详解python3中zipfile模块用法
2018/06/18 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
PyQt5实现简单的计算器
2020/05/30 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
高中体育教学反思
2014/01/24 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
财务担保书范文
2014/04/02 职场文书
C++程序员求职信范文
2014/04/14 职场文书
新闻稿格式范文
2015/07/18 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏