将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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 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 curl模拟浏览器抓取网站信息
2013/10/28 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
Python selenium如何设置等待时间
2016/09/15 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
python实现列表的排序方法分享
2019/07/01 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
详解Python中的路径问题
2020/09/02 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
英文求职信结束语大全
2013/10/26 职场文书
运动会广播稿60字
2014/01/15 职场文书
写给老师的表扬信
2014/01/21 职场文书
小学校园活动策划
2014/01/30 职场文书
一年级班主任感言
2014/03/08 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
财政局个人总结
2015/03/04 职场文书
九年级语文教学反思
2016/03/03 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
python 爬取吉首大学网站成绩单
2021/06/02 Python
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS