注意:支持windows;linux目前我无法解决

 

1.php开启dcom扩展

打开php.ini,搜索php_com_dotnet和php_com_dotnet:

extension=php_com_dotnet.dll   //把前面的分号去掉

com.allow_dcom = true  //改为true

重启apache

2.配置office组件服务

.

 

 

 

 

 

 

 

 

 

 

像这样的操作还有两个!!

 

 

 

3.php代码:

ppt转pdf代码

public function ppt_to_pdf() { $srcfilename = \’E:/aa.ppt\’; $destfilename = \’E:/aa.pdf\’; try { if(!file_exists($srcfilename)){ return; } $ppt = new \COM(“powerpoint.application”) or die(“Unable to instantiate Powerpoint”); $presentation = $ppt->Presentations->Open($srcfilename, false, false, false); $presentation->SaveAs($destfilename,32,1); $presentation->Close(); $ppt->Quit(); } catch (\Exception $e) { if (method_exists($ppt, “Quit”)){ $ppt->Quit(); } return; } }

 

 

excel转ppt

public function excel_to_pdf() {

$srcfilename = \’E:/aa.xls\’;

$destfilename = \’E:/aa.pdf\’;

try { if(!file_exists($srcfilename))

{

return;

}

$excel = new \COM(“excel.application”) or die(“Unable to instantiate excel”);

$workbook = $excel->Workbooks->Open($srcfilename, null, false, null, “1”, “1”, true);

$workbook->ExportAsFixedFormat(0, $destfilename);

$workbook->Close();

$excel->Quit();

} catch (\Exception $e)

{ echo (“src:$srcfilename catch exception:” . $e->__toString());

if (method_exists($excel, “Quit”)){

$excel->Quit();

}

return;

}

}

 

 

word转pdf(其实文本格式的文件都可以用这个,比如:txt)

public function doc_to_pdf()

 {

$srcfilename = \’E:/aa.doc\’;

$destfilename = \’E:/aa.pdf\’;

try { if(!file_exists($srcfilename))

{

return;

}

$word = new \COM(“word.application”) or die(“Can\’t start Word!”);

$word->Visible=0;

$word->Documents->Open($srcfilename, false, false, false, “1”, “1”, true);

$word->ActiveDocument->final = false;

$word->ActiveDocument->Saved = true;

$word->ActiveDocument->ExportAsFixedFormat( $destfilename, 17, // wdExportFormatPDF false, // open file after export 0, // wdExportOptimizeForPrint 3, // wdExportFromTo 1, // begin page 5000, // end page 7, // wdExportDocumentWithMarkup true, // IncludeDocProps true, // KeepIRM 1 // WdExportCreateBookmarks );

$word->ActiveDocument->Close();

$word->Quit();

} catch (\Exception $e) {

if (method_exists($word, “Quit”)){

$word->Quit();

} return;

}

}

 

版权声明:本文为smilevv原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/smilevv/p/13260995.html