将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调用mysql存储过程
Feb 14 PHP
php 正则匹配函数体
Aug 25 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
codeigniter框架批量插入数据
Jan 09 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
php bootstrap实现简单登录
Mar 08 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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 PDO函数库详解
2010/04/27 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
python time.strptime格式化实例详解
2021/02/03 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
什么是servlet链?
2014/07/13 面试题
需求分析说明书
2014/05/09 职场文书
踏青活动策划方案
2014/08/19 职场文书
政风行风评议心得体会
2014/10/21 职场文书
安全生产工作汇报
2014/10/28 职场文书
毕业生自荐信范文
2015/03/05 职场文书
研究生简历自我评
2015/03/11 职场文书
Python爬虫基础初探selenium
2021/05/31 Python