Beranda > Symfony2 Framework, Tutorial PHP > Symfony2 : Snappy Bundle – Create PDF from HTML

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

  1. Agustus 26, 2011 pukul 11:29 pm | #1

    Sungguh Sempurna… Thanks Share ya bro

  2. September 4, 2011 pukul 12:05 am | #2

    silakan asal menyertakan sumber aslinya :)

  3. November 14, 2011 pukul 6:08 pm | #3

    pengen belajar Symfony nih mas…help me dunk ..

  4. November 15, 2011 pukul 3:24 pm | #4

    boleh :)

  1. Belum ada trackback.

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.