首页 文章

错误“std :: bad_alloc”wicked pdf wkhtmltopdf

提问于
浏览
1

我正在使用wickedpdf gem在我的rails应用程序中生成pdf . 除少数 生产环境 请求失败外,每件事都正常运行,并出现以下错误日志 .

错误:执行失败:[“/ usr / local / bin / wkhtmltopdf”,“ - q”,“ - page-size”,“A4”,“ - margin-top”,“20”,“ - -margin-bottom“,”25“,” - margin-left“,”0“,” - margin-right“,”0“,” - footer-spacing“,”5“,” - footer -html“,”file:////tmp/wicked_footer_pdf20160714-2229-1bb7qcg.html“,”file:////tmp/wicked_pdf20160714-2229-18kjik5.html“,”/ tmp / wicked_pdf_generated_file20160714-2229-1t66b4y . pdf“]错误:无法生成PDF!命令错误:抛出'std :: bad_alloc'实例后调用terminate

我无法在本地/舞台上重现这一点 .

以下是我的设置:在AWS-EC2上的Centos 7上运行的 生产环境 服务器 . 将Linux 64位的wkhtmltopdf二进制文件从http://wkhtmltopdf.org/downloads.html复制到 /usr/local/bin/wkhtmltopdf ,版本为0.12.0 . 添加了Wickedpdf的初始化程序以指向wkhtmltopdf .

2 回答

  • 0

    我们在wkhtmltopdf-0.12.2.1中遇到了同样的问题 . PDF也很慢

    wkhtmltopdf v0.12.0-0.12.2使用高分辨率(约1200dpi)来打印导致渲染速度慢的PDF . 在0.12.3版本中,分辨率降至72dpi,从而修复了性能问题(详见this issue

    升级到v0.12.4.0修复了 Command Error: terminate called after throwing an instance of 'std::bad_alloc'

  • 1

    我有同样的问题和@ Hirurg103答案我有一个解决方法的想法:我为我的pdf设置 dpi 属性,它的工作原理

    respond_to do |format|
        format.html
        format.pdf do
          render pdf: "my-report, dpi: 75
        end
      end
    

相关问题