gianksp/cakephp-dompdf

CakePHP 的 Dompdf 插件

安装: 41

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 9

开放问题: 0

类型:cakephp-plugin

dev-master 2017-06-05 18:59 UTC

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 之间的紧密集成,您只需进行很少的设置即可开始使用。

  1. 通过将 CakePlugin::load('Dompdf', array('bootstrap' => true)); 添加到 APP/Config/bootstrap.php 来加载插件。
  2. 通过将 Router::parseExtensions('pdf'); 添加到 APP/Config/routes.php 指示 CakePHP 查找 PDF 扩展。如果您已经在项目中使用了 Router::parseExtensions,只需将 'pdf' 添加到列表中。
  3. 最后,确保所有控制器都加载了 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