This is a Bundle to use the last version of spipu-Html2pdf as a service in Symfony2 applications.
I did this bundle because "ensepar/html2pdf-bundle" does not use the last versions of spipu-Html2pdf and TCPDF. The rest still the same.
composer require smachara/html2pdfbundle
Add the smachara
namespace to your autoloader:
// app/autoload.php
<?php
// ...
$loader->add('smachara', __DIR__ . '/../vendor');
Add the bundle to the registerBundles()
method in your kernel:
// app/AppKernel.php
<?php
public function registerBundles()
{
$bundles = array(
// ...
new smachara\html2pdfbundle\smacharaHtml2pdfBundle(),
);
}
In your action:
public function printAction()
{
$pdf = $this->get('html2pdf_factory')->create();
$html = $this->renderView('PdfBundle:Pdf:content.html.twig', array( 'preview' => false));
$pdf->writeHTML($html);
$response = new Response($pdf->Output('test.pdf','D'));
return $response;
}
You can pass every option you would pass to $pdf, for instance :
$pdf = $this->get('html2pdf_factory')->create('P', 'A4', 'en', true, 'UTF-8', array(10, 15, 10, 15));
If the previous arguments are not provided, the factory uses its own default values. You can
change this default values by adding the bundle configuration to your app/config/config.yml
:
smachara_html2pdf:
orientation: P
format: A4
lang: en
unicode: true
encoding: UTF-8
margin: [10,15,10,15]