先下载OpenOffice,最新的就行了
输入命令开启OpenOffice
cd C:\Program Files (x86)\OpenOffice 4\program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
进入“组件服务”->"计算机"->"我的电脑"->”DCOM配置“,找到OpenOffice。。。。开头的,右击属性,安全,把”启动和激活权限“选择自定义,然后”编辑“添加”guest“
然后、、、
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);
}
function topdf($file1,$pdf_file)
{
$output_dir = "C:/AppServ/www/swust/public/uploads/pdf/";
$doc_file = "C:/AppServ/www/swust/public/uploads/".$file1;
$output_file= $output_dir.$pdf_file;
$doc_file = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
word2pdf($doc_file,$output_file);
}
当初弄的时候报错了很多,最坑的一次是文件损坏了,一直报错,还找不到原因。。。。郁闷