carlescliment/html2pdf-bundle

Integrates the html2pdf REST service in Symfony 2

0.0.2 2013-10-28 17:13 UTC

README

Build Status

This is a Symfony 2 client for the Html2Pdf REST Service.

Installation

Include the bundle in your composer.json file.

    "require": {
        ...
        "carlescliment/html2pdf-bundle": "dev-master"
    }

Modify your AppKernel:

    public function registerBundles()
    {
        $bundles = array(
            // ...
            new carlescliment\Html2PdfServiceBundle\carlesclimentHtml2PdfServiceBundle(),
        );

Set the bundle configuration in your config.yml:

parameters:
    html2pdf.host: http://html2pdf.mydomain.com
    html2pdf.port: 80

Execute php composer.phar update carlescliment/html2pdf-bundle

Usage

From your controller, render the template and pass it to the service:

class SampleController extends Controller
{
    public function toPdfAction()
    {
        $view = $this->renderView('YourBundle:Sample:toPdf.html.twig');
        $bridge = $this->get('html2pdf.bridge');
        return $bridge->getFromHtml($view, 'document_name');
    }
}

Testing

Execute phpunit in the bundle's root dir to run the tests.

If you need functional or integration tests and don't want to make real curl requests, you can use the NullProtocol in order to disable them. Put this configuration in your config_test.yml file.

html2pdf.protocol:
    class: carlescliment\Html2PdfServiceBundle\Protocol\NullProtocol

TO-DO

  • Port setting is currently being ignored
  • Allow passing document settings to the service.