Symfony2 : Snappy Bundle – Create PDF from HTML
Snappy adalah Bundle yang digunakan untuk utilitas konversi wkhtmltopdf di PHP 5.3, memungkinkan kita untuk menghasilkan file Pdf dari dokumen html. KnpSnappyBundle menyediakan integrasi dengan Symfony2 Framework. Untuk bisa dapat melakukan konversi, terlebih dahulu kita download dulu binary wkhtmltopdf di sini : http://code.google.com/p/wkhtmltopdf/ . Setelah dapat file binary-nya, kita install deh. Setelah kita install, kita bisa mengintegrasikan dengan Symfony2 dengan cepat dan mudah.
Pertama, kita konfigurasi dulu :
# app/config/config.yml
knp_snappy:
pdf:
enabled: true
binary: C:\wkhtmltopdf\wkhtmltopdf.exe #path to binary wkhtmltopdf
options: []
Kemudian, kita unduh vendornya dari git repository : ( install dulu git version controlnya )
git submodule add https://github.com/knplabs/snappy.git vendor/snappy
Kita unduh juga Bundle-nya :
git submodule add https://github.com/knplabs/KnpSnappyBundle.git vendor/bundles/Knp/Bundle/SnappyBundle
Kalau sudah, kita daftarkan dalam autoload :
$loader->registerNamespaces(array( //................SNAPPY..........// 'Knp' => __DIR__.'/../vendor/bundles', 'Knp\\Snappy' => __DIR__.'/../vendor/snappy/src' //----------------------------------------------- ));
Kita tambahkan pula dalam Kernel :
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
...
new Knp\Bundle\SnappyBundle\KnpSnappyBundle(),
...
);
}
Okey, time to testing :
$html = $this->renderView('Testmodule:Test:index.html.twig', array(
'some' => 'somethingvalue'
));
return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html),
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="file.pdf"'
)
);
Semoga bermanfaat
Referensi :
http://pooteeweet.org/blog/0/1915?utm_source=twitterfeed&utm_medium=laconi#m1915
http://symfony2bundles.org/knplabs/KnpSnappyBundle
https://github.com/knplabs/KnpSnappyBundle/blob/master/README.markdown
Sungguh Sempurna… Thanks Share ya bro
silakan asal menyertakan sumber aslinya
pengen belajar Symfony nih mas…help me dunk ..
boleh