将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中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
php验证码实现代码(3种)
Sep 07 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
YII框架关联查询操作示例
Apr 29 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
Dom在ajax技术中的作用说明
2010/10/25 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Django分页功能的实现代码详解
2019/07/29 Python
python tkinter基本属性详解
2019/09/16 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
内勤主管岗位职责
2014/04/03 职场文书
高一学生评语大全
2014/04/25 职场文书
团队拓展活动总结
2014/08/27 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
高二语文教学反思
2016/02/16 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL