Я установил плагины CakePdf, используя composer.Поэтому в папке моего поставщика у меня есть плагин CakePdf и другие зависимости.
Я скачал wkhtmltopdf и установил его в каталог.Каталог: C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe
Затем, запустив команду ./bin/cake plugin load CakePdf -b
, я добавил плагин в src/application.php
$this->addPlugin('CakePdf', ['bootstrap' => true]);
Затем я написал следующую строку в config/routes.php
как раз перед Router::scope
Router::extensions(['pdf']);
И в config/bootstrap.php
Configure::write('CakePdf', [
'engine' => [
'className' => 'CakePdf.WkHtmlToPdf',
'binary' => 'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe',
'options' => [
'print-media-type' => false,
'outline' => true,
'dpi' => 96
],
],
]);
Теперь в моем действии abc
controller view
я написал
$this->viewBuilder()->options([
'pdfConfig' => [
'orientation' => 'portrait',
'filename' => 'Invoice_' . $id.'.pdf'
]
]);
У меня также естьсоздал view.ctp
внутри src/Templates/abc/pdf/view.ctp
и default.pdf
макет внутри src/Templates/Layout/pdf/default.ctp
.
Теперь, когда я перехожу к localhost/abc/view/1.pdf
, я получаю сообщение об ошибке Failed to load PDF document
!
Не удалось загрузить документ PDF
Мне бы очень хотелось узнать, что могло пойти не так и как я могу это исправить?