tfox/mpdf-port-bundle

A wrapper for mPDF class which allows to use mPDF in Symfony2 projects

2.0.0 2017-12-24 21:43 UTC

README

Using Composer (Symfony 2.x, Symfony 3.0.x)

  • Run a command
composer require tfox/mpdf-port-bundle
  • Add a new line to app/AppKernel.php:
$bundles = array(
  ...
  new TFox\MpdfPortBundle\TFoxMpdfPortBundle(),
)

Using deps-file (Symfony 2.0.x)

  • Add a new entry to your deps file:
[TFoxMpdfPortBundle]
    git=https://github.com/tasmanianfox/MpdfPortBundle.git
    target=/bundles/TFox/MpdfPortBundle 
  • Add a new line to app/AppKernel.php:
new TFox\MpdfPortBundle\TFoxMpdfPortBundle(), 
  • Add a new line to app/autoload.php:
'TFox' => __DIR__.'/../vendor/bundles',
  • Run a command
php bin/vendors install

A Quick Start guide

How to create a Response object

This small example creates a PDF document with format A4 and portrait orientation:

public function indexAction()
{
   return new \TFox\MpdfPortBundle\Response\PDFResponse($this->getMpdfService()->generatePdf('Hello World'));
}

/**
 * @return \TFox\MpdfPortBundle\Service\PDFService
 */
private function getMpdfService()
{
  return $this->get('t_fox_mpdf_port.pdf');
}

Generate a variable with PDF content

Sometimes it is necessary to get a variable which content is PDF document.

$myVar = $this->getMpdfService()->generatePdf('Hello World');

How to get an instance of \mPDF class

If you would like to work with mPDF class itself, you can use a getMpdf method:

$mpdf = new \Mpdf\Mpdf();

Additional options

Additional options might be passed via the second argument:

public function indexAction()
{
    return new \TFox\MpdfPortBundle\Response\PDFResponse($this->getMpdfService()->generatePdf('Hello World', array(
            'format' => 'A4-L' // A4 page, landscape orientation
    )));
}

Detailed description is available on official manual page: https://mpdf.github.io/