Skip to content

MpdfBundle is a wrapper service which allows to use mPDF class in your Symfony2 project. The main benefit of MpdfPortbundle is a possibility to generate PDF documents in Symfony2 without installation of external converters on a server machine.

License

Notifications You must be signed in to change notification settings

BillyTom/MpdfPortBundle

 
 

Repository files navigation

Installation

Using Composer (Symfony 2.1+)

  • Add a new line to your composer.json file:
"require": {
		...
        
        "tfox/mpdf-port-bundle": "1.1.*"
}
  • Run a command
php composer.phar update
  • Add a new line to app/AppKernel.php:
$bundles = array(
  ...
  "tfox/mpdf-port-bundle": "1.1.*"
)

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:

$mpdfService = $this->get('tfox.mpdfport');
$html = "Hello World!";
$response = $mpdfService->generatePdfResponse($html);

Generate a variable with PDF content

Sometimes it is necessary to get a variabe which content is PDF document. Obviously, you might generate a response from the previous example and then call a method:

$response->getContent()

But there is a shorter way to get a raw content:

$mpdfService = $this->get('tfox.mpdfport');
$html = "Hello World!";
$content = $mpdfService->generatePdf($html);

How to get an instance of \mPDF class

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

$mpdfService = $this->get('tfox.mpdfport');
$mPDF = $mpdfService->getMpdf();

Warning

  • By default the bundle adds the two attributes 'utf-8' and 'A4' to the mPDF class constructor. To turn off these options, use the setAddDefaultConstructorArgs method:
$mpdfService->setAddDefaultConstructorArgs(false);
  • As the bundle inserts the first two arguments to the mPDF constructor by default, additional constructor arguments should start from the 3rd argument (default_font_size).

  • If the setAddDefaultConstructorArgs(false) method is called, additional arguments for constructor should start from the first one (mode).

Additional arguments

As the bundle uses methods of mPDF class, some additional parameters can be added to these methods. There are 3 mPDF methods used in the bundle:

To pass additional arguments, an array with arguments should be created:

$arguments = array(
	'constructorArgs' => array(), //Constructor arguments. Numeric array. Don't forget about points 2 and 3 in Warning section!
	'writeHtmlMode' => null, //$mode argument for WriteHTML method
	'writeHtmlInitialise' => null, //$mode argument for WriteHTML method
	'writeHtmlClose' => null, //$close argument for WriteHTML method
	'outputFilename' => null, //$filename argument for Output method
	'outputDest' => null //$dest argument for Output method
);

It is NOT necessary to have all the keys in array. This array might be passed to the generatePdf and generatePdfResponse methods as the second argument:

$mpdfService->generatePdf($html, $arguments);
$mpdfService->generatePdfResponse($html, $arguments);

About

MpdfBundle is a wrapper service which allows to use mPDF class in your Symfony2 project. The main benefit of MpdfPortbundle is a possibility to generate PDF documents in Symfony2 without installation of external converters on a server machine.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%