andrej-griniuk/cakephp-html-to-image-view

CakePHP 的 HtmlToImageView 插件

1.0.0 2018-04-21 14:36 UTC

This package is auto-updated.

Last update: 2024-08-27 14:03:01 UTC


README

Build Status Coverage Status License

CakePHP 的 HtmlToImageView 插件

此插件使用来自 WkHtmlToPdf 包的 wkhtmltoimage 命令行工具将 html 视图渲染为图像(jpg 或 png)。

要求

安装

您可以使用 Composer 将此插件安装到您的 CakePHP 应用程序中。

composer require andrej-griniuk/cakephp-html-to-image-view

使用方法

首先,您需要在 bootstrap.php 中加载此插件

Plugin::load('HtmlToImageView', ['bootstrap' => true, 'routes' => true]);

这将使任何路由上的 jpegpng 扩展可用。或者,您也可以通过不设置 'routes' => true 来加载插件,并且仅使您希望的路由上的扩展可用。

布局路径和模板子目录是 img,例如,您需要为您的图像视图创建 src/Template/Layout/img/defaut.ctp,图像视图模板可以是例如 src/Template/Events/img/view.ctp。然后,简单地调用,例如,http://localhost/events/view.jpg 来将视图渲染为图像。

wkhtmltoimage 二进制文件的默认路径是 /usr/bin/wkhtmltoimage。您可以通过设置 HtmlToImageView.binary 配置变量来更改它

Configure::write('HtmlToImageView.binary', '/another/path/to/wkhtmltoimage');

您可以通过 $this->viewOptions(['imageOptions' => [...]) 从您的视图中传递一些选项到 wkhtmltoimage。可用的选项列表

  • crop-h - 设置裁剪高度
  • crop-w - 设置裁剪宽度
  • crop-x - 设置裁剪 x 坐标
  • crop-y - 设置裁剪 y 坐标
  • format - 输出文件格式(jpg/png)
  • width - 设置屏幕宽度,注意这仅用作指南线(默认 1024)
  • height - 设置屏幕高度(默认是从页面内容计算得出)
  • zoom - 缩放级别
  • quality - 输出图像质量(介于 0 和 100 之间)(默认 94)

例如

$this->viewOptions([
    'imageOptions' => [
        'width' => 250,
        'zoom' => 2
    ],
]);

项目网站 上查看 wkhtmltoimage 的完整文档和安装说明

错误 & 反馈

https://github.com/andrej-griniuk/cakephp-html-to-image-view/issues

许可

版权所有 (c) 2018, Andrej Griniuk,并许可在 MIT 许可证 下。