Я хочу конвертировать PPT / PPTX в PDF, используя расширение COM для PHP под Windows. Я много боролся без каких-либо успехов, используя 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
Я был бы очень признателен. Спасибо
Вы должны указать точный путь
так
менять :
$ doc = $ powerpnt-> Presentations-> Open (‘powerpoint.pptx’);
$ doc-> SaveAs (‘powerpoint.pdf’, 32, 1);
TO:
$ doc = $ powerpnt-> Presentations-> Open (‘D: \ powerpoint.pptx’);
$ doc-> SaveAs (‘D: \ powerpoint.pdf’, 32, 1);
Других решений пока нет …