2017 © Pedro Peláez
 

symfony-bundle dompdf-bundle

This bundle provides a wrapper for using dompdf inside symfony.

image

core23/dompdf-bundle

This bundle provides a wrapper for using dompdf inside symfony.

  • Saturday, July 14, 2018
  • by core23
  • Repository
  • 2 Watchers
  • 7 Stars
  • 21,274 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 4 Open issues
  • 7 Versions
  • 13 % Grown

The README.md

NucleosDompdfBundle

Latest Stable Version Latest Unstable Version License, (*1)

Total Downloads Monthly Downloads Daily Downloads, (*2)

Continuous Integration Code Coverage Type Coverage, (*3)

This bundle provides a wrapper for using dompdf inside Symfony., (*4)

Installation

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

composer require nucleos/dompdf-bundle

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php file of your project:, (*6)

// config/bundles.php

return [
    // ...
    Nucleos\DompdfBundle\NucleosDompdfBundle::class => ['all' => true],
];

Configure the Bundle

# config/packages/nucleos_dompdf.yaml

nucleos_dompdf:
    defaults:
        defaultFont: 'helvetica'
        # See https://github.com/dompdf/dompdf/wiki/Usage#options for available options

Usage

Whenever you need to turn a html page into a PDF use dependency injection for your service:, (*7)

use Nucleos\DompdfBundle\Factory\DompdfFactoryInterface;
use Nucleos\DompdfBundle\Wrapper\DompdfWrapperInterface;

final class MyService
{
    public function __construct(DompdfFactoryInterface $factory)
    {
        $this->factory = $factory;
    }

    public function render()
    {
        // ...
        /** @var Dompdf\Dompdf $dompdf */
        $dompdf = $this->factory->create();
        // Or pass an array of options:
        $dompdf = $this->factory->create(['chroot' => '/home']);
        // ...
    }
}

final class MyOtherService
{
    public function __construct(DompdfWrapperInterface $wrapper)
    {
        $this->wrapper = $wrapper;
    }

    public function stream()
    {
        // ...
        $html = '<h1>Sample Title</h1><p>Lorem Ipsum</p>';

        /** @var Symfony\Component\HttpFoundation\StreamedResponse $response */
        $response = $this->wrapper->getStreamResponse($html, "document.pdf");
        $response->send();
        // ...
    }

    public function binaryContent()
    {
        // ...
        return $this->wrapper->getPdf($html);
        // ...
    }
}

Render pdf using Twig

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:, (*8)

HTTP/1.0 200 OK Cache-Control: no-cache, (*9)

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

First, make sure your chroot is correctly set and isRemoteEnabled is true., (*10)

# config/packages/nucleos_dompdf.yaml

nucleos_dompdf:
    defaults:
        chroot: '%kernel.project_dir%/public/assets'
        isRemoteEnabled: true

Second, use {{ absolute_url( asset() ) }}, (*11)

<img src={{ absolute_url( asset('assets/example.jpg') ) }}>

Events

The dompdf wrapper dispatches events to conveniently get the inner dompdf instance when creating the PDF. - dompdf.output is dispatched in getPdf() - dompdf.stream is dispatched in streamHtml(), (*12)

See Symfony Events and Event Listeners for more info., (*13)

License

This bundle is under the MIT license., (*14)

The Versions

26/06 2016

1.0.1

1.0.1.0 https://core23.de

This bundle provides a wrapper for using dompdf inside symfony.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Christian Gripp

bundle symfony pdf dompdf

12/06 2016

1.0.0

1.0.0.0 https://core23.de

This bundle provides a wrapper for using dompdf inside symfony.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Christian Gripp

bundle symfony pdf dompdf