Как преобразовать файлы Doc в формат docx или pdf с помощью PHPWord?

Я пытаюсь преобразовать файлы Doc (резюме) в формат docx или pdf с помощью PHPWord. Я скачал PHPWord с github.

Я попробовал код ниже

require_once '../PHPWord.php';

$PHPWord = new PHPWord();

$document = $PHPWord->loadTemplate('Excel2003.doc');

// Save File

$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');

$objWriter->save('Excel2007.docx');

Но получаю ошибку

Warning: include(/var/www/html/PHPWord-develop/src/PhpWord/PHPWord.php): failed to open stream: No such file or directory in /var/www/html/PHPWord-develop/readdoc.php on line 8

Warning: include(): Failed opening '/var/www/html/PHPWord-develop/src/PhpWord/PHPWord.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/PHPWord-develop/readdoc.php on line 8

Fatal error: Class 'PhpOffice\PHPWord' not found in /var/www/html/PHPWord-develop/readdoc.php on line 9

Каково решение?

заранее спасибо


person Ammu    schedule 17.02.2017    source источник


Ответы (1)


После запроса пакета и уверенности, что текущий файл может прочитать пакет PhpOffice/PhpWord, попробуйте заменить свой код следующим:

$PHPWord = new \PHPWord();

$document = $PHPWord->loadTemplate('Excel2003.doc');

// Save File

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($PHPWord, 'Word2007');

$objWriter->save('Excel2007.docx');

Также обратите внимание, что если документ, который вы пытаетесь преобразовать, относится к Word2007, вы можете оставить второй аргумент пустым.

person r. mola    schedule 21.02.2017
comment
Привет, похоже, что loadTemplate() не работает с файлом *.doc, он возвращает ошибку ZipArchive::getFromName(): Invalid or uninitialized Zip object - person Steven Dang; 16.03.2021