当前位置:  开发笔记 > 编程语言 > 正文

退出状态代码'1'表示出错了[knp snappy]

如何解决《退出状态代码'1'表示出错了[knpsnappy]》经验,为你挑选了1个好方法。

我正在使用knp snappy bundle从我的应用程序生成报告.但是不起作用,当我调用我的控制器生成pdf时会抛出下一个错误:

The exit status code '1' says something went wrong:
stderr: "Loading pages (1/6)
[> ] 0%
[======> ] 10%
[=======> ] 12%
Warning: Failed to load file:///gestionresiduospel/web/bundles/usuario/css/bootstrap.css (ignore)
Warning: Failed to load file:///gestionresiduospel/web/bundles/usuario/js/bootstrap.js (ignore)
[============================================================] 100%
Counting pages (2/6)
[============================================================] Object 1 of 1
Resolving links (4/6)
[============================================================] Object 1 of 1
Loading headers and footers (5/6)
Printing pages (6/6)
[> ] Preparing
[============================================================] Page 1 of 1
Done
Exit with code 1 due to network error: ContentNotFoundError
"
stdout: ""
command: "C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe" --lowquality "C:\Users\rodrigo\AppData\Local\Temp\knp_snappy5682878973ade7.09664058.html" "C:\Users\rodrigo\AppData\Local\Temp\knp_snappy56828789746968.46649162.pdf". 

我的控制器是这样的:

public function historicosDetallePdfAction($id)
    {
        $em = $this->getDoctrine()->getManager();
        //gets residuos peligrosos.
        $solicitudRetiro= $em->getRepository('SolicitudRetiroBundle:SolicitudRetiro')->find($id);
        //gets residuos no peligrosos
        $residuosPRetirados = $em->getRepository('SolicitudRetiroBundle:RetiroResiduo')->findResiduos($id);
        //retorna los residuos no peligrosos en la solicitud
        $residuosNPRetirados = $em->getRepository('SolicitudRetiroBundle:RetiroResiduoNoPeligroso')->findResiduosNoPeligrosos($id);
        // view generator
        $html = $this->renderView('SolicitudRetiroBundle:Pdf:resumenSolicitudResiduoRetirado.html.twig', array(
            'solicitudRetiro' => $solicitudRetiro,  
            'residuosRetirados' => $residuosPRetirados,
            'residuosNoPel' => $residuosNPRetirados ));
        // pdf generator
        return new Response(
            $this->get('knp_snappy.pdf')->getOutputFromHtml($html), 
            200,
            array(
                'Content-Type' => 'application/pdf',
                'Content-Disposition' => 'attachment; filename="historico.pdf"'
                )
            );
    }

我复制了我的网址并使用wkhtmltopdf.exe运行到控制台[CMD] .在控制台中我创建了pdf,但是当我看到该文件只显示我的登录屏幕时.所以我认为可能是关于我的控制器的许可的问题,但我不知道我是如何通过这个.

另一方面,如果你知道另一个工作到symfony的pdf生成器(来自html),这对我也有帮助.

我在symfony2.7下工作



1> elkorchi ana..:

这意味着wkhtmltopdf无法加载HTML文件中的某个资源,如果所有资源都有这样的绝对URL,请检查HTML文件:http://www.yourserver.com/images/myimage.jpg

如果不是这样,请尝试设置它:

{{ app.request.schemeAndHttpHost ~ 'resource relative url' }}

如果要加载与assetic资产{% stylesheets %}{% javascript %}或者{% image %}你也可以做

{{ app.request.schemeAndHttpHost ~ asset_url }}

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有