andrej-griniuk / cakephp-html-to-image-view
HtmlToImageView plugin for CakePHP
Installs: 71
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Type:cakephp-plugin
Requires
- cakephp/cakephp: ^3.5
Requires (Dev)
- phpunit/phpunit: ^5.7.14|^6.0
This package is auto-updated.
Last update: 2024-11-27 14:33:42 UTC
README
HtmlToImageView plugin for CakePHP
This plugin renders html views as image (jpg or png) using wkhtmltoimage
command line utility from WkHtmlToPdf package.
Requirements
- CakePHP 3.5+
- wkhtmltoimage
Installation
You can install this plugin into your CakePHP application using Composer.
composer require andrej-griniuk/cakephp-html-to-image-view
Usage
First of all you need to load the plugin in your bootstrap.php
Plugin::load('HtmlToImageView', ['bootstrap' => true, 'routes' => true]);
This will enable jpeg
and png
extensions on any route. Alternatively you could load the plugin without 'routes' => true
and only enable extensions on the routes you would like.
Layout path and templates sub dir are img
, e.g. you'll need to create src/Template/Layout/img/defaut.ctp
for your image views and and image view template would be, for example, src/Template/Events/img/view.ctp
. Then simply call, for example, http://localhost/events/view.jpg
to render your view as image.
Default path to wkhtmltoimage
binary is /usr/bin/wkhtmltoimage
. You can change it by setting HtmlToImageView.binary
configuration variable:
Configure::write('HtmlToImageView.binary', '/another/path/to/wkhtmltoimage');
You can pass some options to wkhtmltoimage
from your view via $this->viewOptions(['imageOptions' => [...])
. List of available options:
- crop-h - Set height for cropping
- crop-w - Set width for cropping
- crop-x - Set x coordinate for cropping
- crop-y - Set y coordinate for cropping
- format - Output file format (jpg/png)
- width - Set screen width, note that this is used only as a guide line (default 1024)
- height - Set screen height (default is calculated from page content)
- zoom - Zoom level
- quality - Output image quality (between 0 and 100) (default 94)
For example:
$this->viewOptions([ 'imageOptions' => [ 'width' => 250, 'zoom' => 2 ], ]);
See the full documentation and installation instruction for wkhtmltoimage
at the project website
Bugs & Feedback
https://github.com/andrej-griniuk/cakephp-html-to-image-view/issues
License
Copyright (c) 2018, Andrej Griniuk and licensed under The MIT License.