imag / files-bundle
Files Bundle for Symfony 2
Installs: 4 019
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.3
- knplabs/knp-snappy-bundle: ^1.5
- symfony/symfony: >2.0
- zendframework/zendpdf: 2.*
README
This bundle can create/manage PDFs files. it can create a Pdf from a html page and append many Pdfs files on the document and zip final document. It use KnpSnappyBundle to create PDF from Html and ZendPdf to append pdfs files.
Install
- Download FilesBundle
- Enable the bundle
- Configure the KnpSnappyBundle
How get the bundle
Caution:
The dev-master version have not backward compatibility with the 2.x version.
Composer
Modify your composer.json on your project root
// {root}/composer.json { [...], "require": { [...], "imag/files-bundle": "dev-master" } }
Enable the Bundle
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new IMAG\FilesBundle\IMAGFilesBundle(), ); }
Configure KnpSnappyBundle
Please read the official KnpSnappyBundle documentation https://github.com/KnpLabs/KnpSnappyBundle
Usage
Create PDF from Html
<?php $pdf = $this->get('imag_files.pdf') ->setTemplate("foo.html.twig", array('includeVar', $includeVar)) ->setPdfPrefix('foo-file') // Like : 'foo-file-uniqId().pdf' ->setPath('/home/foo/tmp') // Default sys_get_temp_dir() ->addParameter('name', $value) ->htmlToPdf() ;
Append pdf file to final document
<?php $pdf = $this->get('imag_files.pdf') ->setPdfPath($finalPdf) ->appendFiles(array($file1, $files2)) ;
Adding files into zip archive
<?php $zip = $this->get('imag_files.zip') ->add($pdf) ;
Example
Twig template
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> {% include('NSFooBundle:Pdf/css:' ~ includeVar) %} </head> <body> <h1>{{ data.title }}</h1> <h2>{{ data.body }}</h2> </body> </html>