且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用knp snappy bundle生成pdf - symfony2

更新时间:2023-11-19 21:46:28

几个月后,但这里是帮助我的。



我将wkthmltopdf文件夹的路径放在双引号内。

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


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?

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\""