我正在使用CakePdf插件从HTML创建pdf文件。我已经使用composer安装了插件,并将其安装在bootstrap.php中。 Bootstrap.php
Plugin::load('CakePdf', ['bootstrap' => true]);
Configure::write('CakePdf', [
'engine' => 'CakePdf.WkHtmlToPdf',
'margin' => [
'bottom' => 15,
'left' => 50,
'right' => 30,
'top' => 45
],
'orientation' => 'landscape',
'download' => true
]);
也将扩展名加载到routes.php中
Router::extensions('json', 'xml', 'pdf');
RequestHandler也已在AppController中启用,并且我也在控制器中使用了它。而且我使用了一种方法,希望将其转换为pdf。控制器中的代码。
public function generatePdf() {
$billNumber = "100004";
$bill = $this->Bills->find("all")
->contain(['Users', 'Customers', 'PaymentGateways'])
->where(['bill_number' => $billNumber]);
$billDetails = $this->Bills->BillDetails->find('all')
->where(['bill_id' => $billNumber]);
$this->set(compact('bill', 'billDetails', 'billNumber'));
$this->viewBuilder()->options([
'pdfConfig' => [
'download' => true,
'filename' => 'Invoice.pdf'
]
]);
}
此外,还会在渲染输出的地方创建视图。 generate_pdf.ctp:
<h1></h1>
<p>Banana</p>
<p>Boom !!!</p>
但是当我访问我的方法时,浏览器中什么也没有发生。仅显示我的内容,没有显示错误或警告。请帮助我。