enupal / snapshot
PDF or Image generation from a Url or HTML page
Installs: 37 318
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 4
Forks: 3
Open Issues: 14
Type:craft-plugin
pkg:composer/enupal/snapshot
Requires
- craftcms/cms: ^5.0.0
- knplabs/knp-snappy: ^1.0
This package is auto-updated.
Last update: 2025-10-29 01:57:14 UTC
README
Enupal Snapshot Plugin for Craft CMS
PDF or Image generation from a URL or HTML page easily. It uses the excellent webkit-based wkhtmltopdf and wkhtmltoimage available on OSX, Linux & windows.
Features
Store your PDF or Image files in Assets
Enupal Snapshot allows set a global asset and sub-path (twig code allowed) to store your files. Override the asset and sub-path before generating your files in your templates, more info here.
Display the Pdf in browser from Html
{%  set settings = {
        filename: 'my-first.pdf'
    }
%}
{{ craft.enupalsnapshot.displayHtml("<h1>Hello world!</h1>", settings) }}
Display the Pdf in browser from template
{%  set settings = {
        filename: 'my-first.pdf',
        variables: {
            foo: 'barr'
        }
    }
%}
{{ craft.enupalsnapshot.displayTemplate("pdf/examples/summary", settings) }}
Download url of the Pdf from Html
{%  set settings = {
        filename: 'my-first.pdf',
        inline: false,
    }
%}
{% set url = craft.enupalsnapshot.displayHtml("<h1>Hello world!</h1>", settings) %}
<a target="_blank" href="{{url}}"> Download Pdf</a>
Download url as an Image
{%  set settings = {
        filename: 'my-first-image.png',
        asImage: true
    }
%}
{% set url = craft.enupalsnapshot.displayHtml("<h1>Hello world!</h1>", settings) %}
<a target="_blank" href="{{url}}"> Download Image</a>
Display the Pdf in browser from Urls
{% set urls = {0: 'https://www.google.com', 1:'http://enupal.com'} %}
{%  set settings = {
        filename: 'my-first.pdf'
    }
%}
{{ craft.enupalsnapshot.displayUrl(urls, settings) }}
Add cliOptions
All available options here:
{%  set settings = {
        filename: 'my-first.pdf',
        cliOptions: {
            'cover': '<h1>Hello world from Enupal Snapshot</h1>',
            'header-font-size': '36',
            'footer-right': null,
            'orientation': 'Portrait',
            'page-size': 'A4'
        }
    }
%}
{{ craft.enupalsnapshot.displayHtml("<h1>Hello world!</h1>", settings) }}
Documentation
https://docs.enupal.com/enupal-snapshot/
Enupal Snapshot Support
- 
Send us a note at: support@enupal.com 
- 
Create an issue on Github 
Brought to you by enupal