gianksp / cakephp-dompdf
CakePHP 的 Dompdf 插件
dev-master
2017-06-05 18:59 UTC
Requires
- php: >=5.3.0
- dompdf/dompdf: ^0.6
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 19:53:24 UTC
README
此插件允许您在 CakePHP 框架中使用 dompdf HTML 到 PDF 转换器轻松创建 PDF 文档。它与 CakePHP 视图渲染器紧密集成。
要求
安装
composer require gianksp/cakephp-dompdf:dev-master
供应商文件
下载 dompdf 0.6 并将存档内容移动到 Plugin/Dompdf/Vendor/dompdf
。
缓存权限
请在 APP/tmp/cache
中创建一个名为 dompdf
的缓存文件夹,并将其权限更改为 777。
用法
由于此插件与 CakePHP 之间的紧密集成,您只需进行很少的设置即可开始使用。
- 通过将
CakePlugin::load('Dompdf', array('bootstrap' => true));
添加到APP/Config/bootstrap.php
来加载插件。 - 通过将
Router::parseExtensions('pdf');
添加到APP/Config/routes.php
指示 CakePHP 查找 PDF 扩展。如果您已经在项目中使用了Router::parseExtensions
,只需将 'pdf' 添加到列表中。 - 最后,确保所有控制器都加载了 RequestHandlerComponent,通过将
public $components = array('RequestHandler');
添加到APP/Controller/AppController.php
来实现。
配置选项
如果您想更改任何默认配置,请将 APP/Plugin/Dompdf/Config/dompdf.php
复制到 APP/Config
。
布局
您需要创建 PDF 文档的默认布局,通过在 APP/View/Layouts/pdf
中创建一个名为 default.ctp
的文件来实现。
视图
对于每个应该返回 PDF 的操作,只需在控制器视图所在的文件夹中创建一个名为 pdf
的文件夹,并在该 pdf
文件夹中创建一个以操作命名的文件。
例如,如果您的控制器名为 DocumentsController,操作名为 view,您需要在 APP/View/Documents/pdf
中创建 view.ctp
文件。
视图变量
有几个视图变量可以用来改变视图的行为。
download
设置为 true 以设置Content-Disposition
头。这对于文件下载很理想。name
将被发送给用户的文件名,指定了扩展名。paperOrientation
纸张方向。必须是 'landscape' 或 'portrait'。paperSize
纸张大小。可接受值包括 'letter', 'legal', 'a4' 等。参见CPDF_Adapter::$PAPER_SIZES
。
示例
public function view($id)
{
// ...
$params = array(
'download' => false,
'name' => 'example.pdf',
'paperOrientation' => 'portrait',
'paperSize' => 'legal'
);
$this->set($params);
}
URL
要访问任何操作作为 PDF,只需将浏览器指向相关操作的 URL 并在末尾添加 '.pdf',就像您为 JSON 或 XML 所做的那样。
例如
http://example.com/documents/view/100.pdf