使用knp snappy bundle生成pdf - symfony2

Ata*_*CSE 2 php pdf git wkhtmltopdf symfony

我是symfony2的新手,非常喜欢使用外部库.我想使用我的第一个第三方软件包KNP Snappy Bundle.

我完全按照git链接告诉我.

{
    "require": {
        "knplabs/knp-snappy-bundle": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)

// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        //...
        new Knp\Bundle\SnappyBundle\KnpSnappyBundle(),
Run Code Online (Sandbox Code Playgroud)

应用程序/配置/ config.yml

knp_snappy:
    pdf:
        enabled:    true
        binary:     /usr/local/bin/wkhtmltopdf
        options:    []
    image:
        enabled:    true
        binary:     /usr/local/bin/wkhtmltoimage
        options:    []
Run Code Online (Sandbox Code Playgroud)

然后我在ACME欢迎控制器中添加以下行进行测试

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

它说 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".

我试过了

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

表明 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".

我错过了什么?我需要安装什么吗?请描述我如何运行它并生成一个合适的pdf ????? 我搜索,我猜我需要安装wkhtmltoimage等但是从哪里以及如何?

the*_*ids 7

你也可以用作曲家管理wkhtmltopdf,我在最近的一个项目中做到了:

在您的composer.json中,您可以添加:

"h4cc/wkhtmltopdf-amd64": "0.11.0-RC1"
Run Code Online (Sandbox Code Playgroud)

并在您的config.yml中:

binary:     %kernel.root_dir%/../vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64
Run Code Online (Sandbox Code Playgroud)


Iva*_*vic 5

几个月后,但这对我有帮助。

我将 wkthmltopdf 文件夹的路径放在转义双引号中。

knp_snappy:
   pdf:
      binary: "\"C:/Program Files (x86)/wkhtmltopdf/wkhtmltopdf.exe\""
Run Code Online (Sandbox Code Playgroud)