我想在Windows下使用COM扩展为PHP转换PPT / PPTX为PDF。我在使用ExportAsFixedFormat时没有任何成功而苦苦挣扎,而是使用了SaveAs方法()。 PDF确实生成但脚本永远不会完成。打开任务管理器我可以看到PowerPoint进程仍在运行......我无法将其关闭。
使用Word,此代码的一切正常:
$word->ActiveDocument->Close(false);
$word->Quit();
$word = null;
unset($word);
使用PowerPoint我没有运气使用此代码:
$powerpnt = new COM('powerpoint.application') or die('Unable to load PowerPoint');
$powerpnt->Visible = true;
// Open an existing document
$doc = $powerpnt->Presentations->Open('powerpoint.pptx');
$doc->SaveAs('powerpoint.pdf', 32, 1);
$doc->Close();
$powerpnt->Quit();
$powerpnt = null;
unset($powerpnt);
我也试过了,但仍然没有工作:
$powerpnt->Presentations[1]->Close();
$powerpnt->Presentations("powerpoint.pptx")->Close();
$powerpnt->ActivePresentation->Close(); // this generates an error
我真的很感激一些见解。谢谢
答案 0 :(得分:0)
您必须指定确切的路径 所以 改变: $ doc = $ powerpnt->演示文稿 - >打开('powerpoint.pptx'); $ doc-> SaveAs('powerpoint.pdf',32,1);
TO: $ doc = $ powerpnt->演示文稿 - >打开('D:\ powerpoint.pptx'); $ doc-> SaveAs('D:\ powerpoint.pdf',32,1);