PHP COM PowerPoint另存为PDF和关闭演示文稿

时间:2014-10-27 23:17:59

标签: php com pdf-generation powerpoint

我想在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

我真的很感激一些见解。谢谢

1 个答案:

答案 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);