Использование PhpPowerpoint API в качестве читателя powerpoint
Я пытаюсь динамически встраивать powerpoints в мою веб-страницу с помощью API PhpPowerpoint, но безуспешно.
Вот мой код:
<?php
use PhpOffice\PhpPresentation\PhpPresentation;
use PhpOffice\PhpPresentation\IOFactory;
use PhpOffice\PhpPresentation\Style\Alignment;
use PhpOffice\PhpPresentation\Style\Color;
use PhpOffice\PhpPresentation\Shape\MemoryDrawing;
use PhpOffice\PhpPresentation\Style\Fill;
require_once 'PhpPresentation/src/PhpPresentation/Autoloader.php';
\PhpOffice\PhpPresentation\Autoloader::register();
require_once 'Common/src/Common/Autoloader.php';
\PhpOffice\Common\Autoloader::register();
$pptReader = IOFactory::createReader('PowerPoint2007');
$oPHPPresentation = $pptReader->load('http://webitcloud.net/PW/1617/weduc/Teste.pptx');
$oTree = new PhpPptTree($oPHPPresentation);
echo $oTree->display();
?>
Ошибка, которая появляется:
"Не удалось открыть http://webitcloud.net/PW/1617/weduc/Teste.pptx для чтения! Файл не существует.' в /home/webitcloud/public_html/PW/1617/weduc/PhpPresentation/src/PhpPresentation/Reader/PowerPoint2007.php:97
Какие-либо предложения?
1 ответ
Вы не можете открыть URI из читателя PowerPoint2007, потому что он пытается открыть его с помощью ZipArchive (который не принимает URI).
Решением является копирование файла на локальный компьютер:
$file = 'http://remote/url/file.zip';
$newfile = 'tmp_file.zip';
if (!copy($file, $newfile)) {
echo "failed to copy $file...\n";
}
$pptReader = IOFactory::createReader('PowerPoint2007');
$oPHPPresentation = $pptReader->load($newfile);
$oTree = new PhpPptTree($oPHPPresentation);
echo $oTree->display();