chrisandchris / mpdf-port-bundle
A for of the tfox/mpdf-port-bundle with enhanced response handling
Installs: 68
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 23
Type:symfony-bundle
Requires
- mpdf/mpdf: ~5.7
- symfony/framework-bundle: ~2.1
Requires (Dev)
README
Using Composer (Symfony 2.1+)
- Add a new line to your
composer.json
file:
"require": {
...
"tfox/mpdf-port-bundle": "1.2.*"
}
- Run a command
php composer.phar update
- Add a new line to
app/AppKernel.php
:
$bundles = array(
...
new ChrisAndChris\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 ChrisAndChris\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:
- Constructor. Documentation: http://mpdf1.com/manual/index.php?tid=184
- WriteHTML. Documentation: http://mpdf1.com/manual/index.php?tid=121
- Output. Documentation: http://mpdf1.com/manual/index.php?tid=125
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);