|
php 利用openoffice把word转成html和pdf的方法
php 利用openoffice把word转成html和pdf的方法(导出html的图片也可导出来)
1。电脑上首先要安装openoffice2。打开com组件的支持,方法为该篇日志类别下的《PHP 开启COM组件》3。转为pdf的代码为:<?php set_time_limit(0); 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 = "文件导出的目录,如F:/";$doc_file = "doc文件的位置,如F:/test.doc";$pdf_file = "导出pdf文件的名字,如test.pdf"; $output_file = $output_dir . $pdf_file; $doc_file = "file:///" . $doc_file; $output_file = "file:///" . $output_file; word2pdf($doc_file,$output_file); ?>4.转为html的代码为:<?php function OpenOfficeMakePropertyValue( $name, $value, $osm) { $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue"); $oStruct->Name = $name; $oStruct->Value = $value; return $oStruct; } function OpenOfficeWordToHtml( $doc_url, $output_url ) { //调用OpenOffice.org服务器 $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n"); //设置应用程序继续隐藏,避免闪烁的屏幕上的文档 $args = array(OpenOfficeMakePropertyValue("Hidden",true,$osm)); //启动桌面 $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop"); //加载。doc文件,从上面传递“隐藏”属性 $oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args); //设置参数为PDF输出 $export_args = array( OpenOfficeMakePropertyValue("FilterName","HTML (StarWriter)",$osm) , OpenOfficeMakePropertyValue("Overwrite","true",$osm) ); //写出的HTML $oWriterDoc->storeToURL($output_url,$export_args); $oWriterDoc->close(true); } $output_dir = "文件导出的目录,如F:/"; $doc_file = "doc文件的位置,如F:/test.doc"; $pdf_file = "导出html文件的名字,如test.html"; $output_file = $output_dir . $pdf_file; $doc_file = "file:///" . $doc_file; $output_file = "file:///" . $output_file; OpenOfficeWordToHtml($doc_file,$output_file); ?> posted on 2017-01-03 16:39 尼古拉斯.爱码仕 阅读(...) 评论(...) 编辑 收藏 |
|
|