将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小程序自动提交到自助友情连接
Nov 24 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
php实现购物车功能(下)
Jan 05 PHP
mysql alter table命令修改表结构实例详解
Sep 24 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
如何基于python操作excel并获取内容
2019/12/24 Python
python matplotlib库的基本使用
2020/09/23 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
学生宿舍管理制度
2014/01/30 职场文书
卖车协议书
2014/04/21 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
Mysql 用户权限管理实现
2021/05/25 MySQL
python字典进行运算原理及实例分享
2021/08/02 Python