Using knp snappy bundle to generate pdf - symfony2

12,814

Solution 1

Few months later, but here is what helped me.

I put the path to wkthmltopdf folder in escaped double quotes.

knp_snappy:
   pdf:
      binary: "\"C:/Program Files (x86)/wkhtmltopdf/wkhtmltopdf.exe\""

Solution 2

you can also manage wkhtmltopdf with composer too, I did it in a recent project:

in your composer.json you can add:

"h4cc/wkhtmltopdf-amd64": "0.11.0-RC1"

and in your config.yml:

binary:     %kernel.root_dir%/../vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64
Share:
12,814
AtanuCSE
Author by

AtanuCSE

Happiness is the ultimate goal. Do what you love.

Updated on June 05, 2022

Comments

  • AtanuCSE
    AtanuCSE almost 2 years

    I'm new to symfony2 and very to use external libraries. I want to use the KNP Snappy Bundle, my first third party bundle.

    I did exactly that is told in the git link.

    {
        "require": {
            "knplabs/knp-snappy-bundle": "dev-master"
        }
    }
    

    // app/AppKernel.php

    public function registerBundles()
    {
        $bundles = array(
            //...
            new Knp\Bundle\SnappyBundle\KnpSnappyBundle(),
    

    app/config/config.yml

    knp_snappy:
        pdf:
            enabled:    true
            binary:     /usr/local/bin/wkhtmltopdf
            options:    []
        image:
            enabled:    true
            binary:     /usr/local/bin/wkhtmltoimage
            options:    []
    

    Then I added following line in ACME welcome controller to test

    $this->get('knp_snappy.pdf')->generate('http://www.google.fr', '/Symfony/file.pdf');
    

    It says The exit status code '1' says something went wrong: stderr: "The system cannot find the path specified. " stdout: "" command: /usr/local/bin/wkhtmltoimage --format "jpg" "http://www.google.fr" "/Symfony/file.pdf".

    I tried

    $this->get('knp_snappy.pdf')->generateFromHtml(
        $this->renderView(
            'AcmeDemoBundle:Welcome:index.html.twig'),
            '/Symfony/file.pdf'
        );
    

    It shows The exit status code '1' says something went wrong: stderr: "The system cannot find the path specified. " stdout: "" command: /usr/local/bin/wkhtmltopdf --lowquality "C:\Windows\TEMP\knp_snappy530da4525584b8.92211088.html" "/Symfony/file.pdf".

    What I'm missing? Do I need to install anything ? Please describe how can I run it and generate a proper pdf????? I searched, I'm guessing I need to install wkhtmltoimage etc. But from where and how?