php 利用openoffice把word转成html和pdf的方法


php 利用openoffice把word转成html和pdf的方法(导出html的图片也可导出来)  

1。电脑上首先要安装openoffice
2。打开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); 
?>  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM