Silnik WKHTMLTOPDF: https://wkhtmltopdf.org/downloads.html
Plugin CakePDF: https://github.com/FriendsOfCake/CakePdf
Instalacja silnika – pobrać dla odpowiedniej wersji debiana
# apt install ./wkhtmltox_0.12.5-1.stretch_amd64(3).deb
/usr/local/bin/wkhtmltopdf
Instalacja pluginu:
# cd /var/www/html/moj_projekt
# composer require friendsofcake/cakepdf
# bin/cake plugin load CakePdf
routes.pdf – w odpowiednich zakresach
$builder->setExtensions(['pdf', 'json', 'csv']);
Konfiguracja:
Configure::write('CakePdf', [
'engine' => 'CakePdf.WkHtmlToPdf',
'binary' => '/usr/local/bin/wkhtmltopdf',
'margin' => [
'bottom' => 15,
'left' => 15,
'right' => 15,
'top' => 15,
],
'orientation' => 'portrait',
// 'download' => true,
]);
Kontroler Transactions
use CakePdf\View\PdfView; class TransactionsController extends AppController { public function initialize(): void { parent::initialize(); $this->addViewClasses([PdfView::class]); } } // TransactionsController