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