wickedpdf 不渲染图像?

wickedpdf not rendering images?

我正在使用 wickedpdf gem 从 html 代码生成 pdf invoice

gems:

gem 'wicked_pdf'
gem "wkhtmltopdf-binary"

gemfile.lock

wicked_pdf (1.0.6)
wkhtmltopdf-binary (0.9.9.3)

在控制器中:

  def show_pdf_invoice
    respond_to do |format|
      format.html { render :layout => "pdf.pdf.erb" }
      format.pdf do
    render pdf: "show_pdf_invoice", :layout => 'pdf.pdf.erb'
    #render :pdf => "pdf"#, :layout => 'pdf.html.erb'
      end
    end
  end

views/invoices/show_pdf_invoice.pdf.erb

  <img id="image" src="https://www.google.co.in/logos/doodles/2016/holidays-2016-day-2-6356741311692800-scta.png" alt="logo" /> 
  <%= wicked_pdf_image_tag 'https://www.google.co.in/logos/doodles/2016/holidays-2016-day-2-6356741311692800-scta.png' %>

pdf 正在生成。但是图像没有显示。在图像的地方空盒子来了。找不到问题。

我遇到了同样的问题,通过删除 httphttps 解决了我的问题。你试过这个吗?对于 Amazon S3 部分:您可以使用 gsub,如:gsub("https", "http")

将 Rails 5.2 与 Active Storage 结合使用,并结合 Amazon S3 存储,我遇到了同样的问题。 在我的本地机器上开发时,图像呈现完美,但在 Heroku 上 它们呈现为小的空矩形。

要从上传到 Active Storage 的徽标中获取 url,我使用了:@my_object.logo.service_url。 其中使用标准 url 和 https。如前所述,将其替换为 http 解决了问题。

我的 pdf 生成器视图中使用的完整代码:

<%= wicked_pdf_image_tag @my_object.logo.service_url.gsub("https", "http") %>

两个选项

1。升级到 wkhtmltopdf 0.12.5.

-或-

2。使用 apt-get install libssl1.0-dev.

安装 libssl1.0-dev

查看此问题了解更多信息:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001