core23/dompdf-bundle

This bundle provides a wrapper for using dompdf inside symfony.

2.2.0 2018-02-07 18:41 UTC

README

Latest Stable Version Latest Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Build Status Scrutinizer Code Quality Code Climate Coverage Status

Donate to this project using Flattr Donate to this project using PayPal

This bundle provides a wrapper for using dompdf inside symfony.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

composer require core23/dompdf-bundle

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in bundles.php file of your project:

// config/bundles.php

return [
    Core23\DompdfBundle\Core23DompdfBundle => ['all' => true],
];

Usage

Whenever you need to turn a html page into a PDF just use this anywhere in your controller:

// Set some html and get the service
$html = '<h1>Sample Title</h1><p>Lorem Ipsum</p>';
$dompdf = $this->get('dompdf');

// Stream the pdf to the browser
$dompdf->streamHtml($html, "document.pdf");

// Get binary content of the pdf document
$dompdf->getPdf($html);

If you use Twig to create the content, make sure to use renderView() instead of render(). Otherwise you might get the following HTTP header printed inside your PDF:

HTTP/1.0 200 OK Cache-Control: no-cache

$html = $this->renderView('my_pdf.html.twig', array(
    // ...
));
$dompdf->streamHtml($html, 'document.pdf');

Configure the Bundle

# config/packages/core23_dompdf.yml

core23_dompdf:
    defaults:
        dpi: 150
        defaultPaperSize: A4
        ...

License

This bundle is under the MIT license.