【问题标题】:Laravel 5.6 using barryvdh/snappy to create pdf in windowsLaravel 5.6 使用 barryvdh/snappy 在 windows 中创建 pdf
【发布时间】:2018-04-16 04:29:40
【问题描述】:

我正在尝试使用 Barryvdh/snappy 在 Laravel 5.6 中创建 PDF。我的config/snappy.php 看起来像

'pdf' => array(
    'enabled' => true,
    'binary'  => 'C:/xampp/htdocs/pdftesting/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf',
    'timeout' => false,
    'options' => array(),
    'env'     => array(),
),

我的控制器看起来像,

        $pdf = PDF::loadView('pdf',$data);
        return $pdf->download('test.pdf');

但我得到了这个错误,

退出状态代码“1”表示出了点问题:\n 标准错误:“'C:/xampp/htdocs/pdftesting/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf' 未被识别为内部或外部命令,\r\n 可运行的程序或批处理文件。\r\n "\n 标准输出:“”\n 命令:C:/xampp/htdocs/pdftesting/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf --lowquality --images --enable-javascript --javascript-delay "10" "C:\WINDOWS\TEMP\knp_snappy5ad430445b31e9 .92776484.html" "C:\WINDOWS\TEMP\knp_snappy5ad430445fac87.79827170.pdf"

【问题讨论】:

    标签: pdf-generation laravel-5.6 laravel-snappy


    【解决方案1】:

    试试这个解决方案 https://github.com/barryvdh/laravel-snappy/issues/60 并寻找 STAMBOULI ABDELKARIM 的评论,它对我有用。

    使用 DomPDF 生成图表很难/不可能,开发人员 Barryvdh 也指出了这一点

    【讨论】:

      【解决方案2】:

      您没有提到是否在 Windows 上安装了 wkhtmltopdf。如果没有访问https://wkhtmltopdf.org/downloads.html,请根据您的windows要求下载(如果您的windows是32bit则下载32bit,如果是64bit则下载64bit msi文件)并安装到默认位置。

      然后根据以下行更改您的 config/snappy.php 文件

      '二进制' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf"'

      希望这会对你有所帮助。

      更多参考访问 https://github.com/barryvdh/laravel-snappy

      【讨论】:

      • @M.aslam 嘿,感谢您的回复,我实际上已经开始使用barryvdh/laravel-dompdf,据我所见,它更容易使用。
      • 好的。如果您对 dompdf 感到满意,请使用它。我使用了 dompdf,但对它的输出不满意。无论如何,祝你好运。
      【解决方案3】:

      我认为这是 Windows 错误。尝试将 Wkhtmltopdf bin 文件夹添加到路径中。 参考这个article

      【讨论】:

        【解决方案4】:

        如果你将文件复制到公共路径并在 config/snappy 文件中编辑二进制路径,我认为你可以做到这一点

                'pdf' => [
            'enabled' => true,
            'binary'  => public_path('wkhtmltopdf/bin/wkhtmltopdf.exe'),
            'timeout' => false,
            'options' => [],
            'env'     => [],
        ],
        
        'image' => [
            'enabled' => true,
            'binary'  => public_path('wkhtmltopdf/bin/wkhtmltoimage.exe'),
            'timeout' => false,
            'options' => [],
            'env'     => [],
        ],
        

        或在 wkhtmltopdf 的 bin 路径中添加双引号 '二进制' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf"'

        【讨论】:

          猜你喜欢
          • 2018-07-20
          • 1970-01-01
          • 2023-04-09
          • 1970-01-01
          • 2015-07-27
          • 1970-01-01
          • 1970-01-01
          • 2019-03-08
          • 2018-07-19
          相关资源
          最近更新 更多