我试图使用CakePdf渲染pdf以在浏览器中查看,但它似乎没有从html转换为pdf。 我按照https://github.com/FriendsOfCake/CakePdf中的CakePdf说明进行操作。
boostrap.php:
Plugin::load('CakePdf', ['boostrap' => true]);
Configure::write('CakePdf', [
'engine' => 'CakePdf.WkHtmlToPdf',
'margin' => [
'bottom' => 20,
'left' => 20,
'right' => 20,
'top' => 20
],
'pageSize' => 'A4',
'encoding' => 'UTF-8',
'orientation' => 'portrait',
'download' => false
]);
routes.php文件:
Router::scope('/', function ($routes) {
$routes->extensions(['json', 'xml', 'pdf']);
我的布局在src / Template / Layout / pdf / default.ctp中,我的视图模板在src / Template / Pos / pdf / printpo.ctp中。 requestHandler组件加载到我的AppController中。
我可以查看localhost:8765 / Pos / printpo / 1没有问题。当我添加.pdf并尝试查看localhost:8765 / Pos / printpo / 1.pdf时,Firefox说"这个PDF文档可能无法正确显示"。当我下载并尝试使用文档查看器打开时,它表示它无法打开,因为不支持文件类型plain / text。如果我用文本编辑器打开它,我可以查看普通的html,所以它根本不会转换html。
我有CakePdf的第二个用例工作 - 我可以将pdf直接保存/写入文件系统并正确打开。
任何帮助非常感谢! :)