PHPWord в PDF не может загрузить библиотеку

Я пытался весь день заставить это работать. Сейчас я могу сохранить документ в виде файла .docx, но мне хотелось сохранить документ в формате PDF, который я пробовал с DOMPDF и TCPDF, но у меня появляется ошибка «Невозможно загрузить библиотеку PDF». Я подтвердил, что путь указан правильно , Я что-то пропустил? Спасибо за помощь

$rendererName = \PhpOffice\PhpWord\Settings::PDF_RENDERER_TCPDF;
$rendererLibrary = 'tcpdf.php';
$rendererLibraryPath = dirname(__FILE__) .'/plugins/tcpdf/' . $rendererLibrary;

\PhpOffice\PhpWord\Settings::setPdfRenderer($rendererName,$rendererLibraryPath);

$document->saveAs('temp.docx'); // Save to temp file
$test = \PhpOffice\PhpWord\IOFactory::load('temp.docx'); // Read the temp file
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($test, 'PDF');
$xmlWriter->save('result.pdf');  // Save to PDF
unlink('temp.docx'); // Delete the temp file

Вот код, который выдает ошибку

  public function __construct(PhpWord $phpWord)
{
parent::__construct($phpWord);
$includeFile = Settings::getPdfRendererPath() . '/' . $this->includeFile;
if (file_exists($includeFile)) {
/** @noinspection PhpIncludeInspection Dynamic includes */
require_once $includeFile;
} else {
// @codeCoverageIgnoreStart
// Can't find any test case. Uncomment when found.
throw new Exception('Unable to load PDF Rendering library');
// @codeCoverageIgnoreEnd
}
}

Вот полная ошибка

Неустранимая ошибка: необработанное исключение «PhpOffice \ PhpWord \ Exception \ Exception» с сообщением «Невозможно загрузить библиотеку рендеринга PDF» в
… / PHPWord / Writer / PDF / AbstractRenderer.php: 92 Трассировка стека: # 0 … / PHPWord / Writer / PDF.php (61): PhpOffice \ PhpWord \ Writer \ PDF \ AbstractRenderer -> __ construct (Object ( PhpOffice \ PhpWord \ PhpWord)) # 1 … / PHPWord / IOFactory.php (34): PhpOffice \ PhpWord \ Writer \ PDF -> __ construct (Объект (PhpOffice \ PhpWord \ PhpWord)) # 2 … / download_report. php (578): PhpOffice \ PhpWord \ IOFactory :: createWriter (Object (PhpOffice \ PhpWord \ PhpWord), ‘PDF’) # 3 {main} добавлен в … / PHPWord / Writer / PDF / AbstractRenderer.php в строке 92

2

Решение

Зная все это, я предполагаю, что ответ меняется:

$includeFile = Settings::getPdfRendererPath() . '/' . $this->includeFile;

в

$includeFile = Settings::getPdfRendererPath();
2

Другие решения

Когда я печатаю ошибку в журнал, я понимаю, что она пытается загрузить dompdf_config.inc.php из неверного места. Увидеть ниже.

C: \ WAMP \ WWW \ cccake \ приложение \ Vendor \ DOMPDF \ dompdf.php / dompdf_config.inc.php \ п

Вместо того, чтобы изменять файлы классов PHPExcel / PHPWord, лучше изменить конфигурацию в вашем представлении. Полное игнорирование $ rendererLibrary в $ rendererLibraryPath решило мою проблему. Я думаю, что PHPExcel / PHPExcel знают, как выбрать файл dompdf.php (tcpdf.php) в вашем случае. Попробуйте приведенный ниже код, дайте нам знать, если он не работает.

$ rendererLibrary = ‘tcpdf.php’;
$ rendererLibraryPath = dirname (ФАЙЛ). ‘/ plugins / tcpdf’;

0

По вопросам рекламы [email protected]