我使用wickedpdf gem从pdf代码中生成html invoice。
宝石:
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正在生成。但是这些图像没有显示出来。在图像的地方,空的盒子来了。找不到问题。
发布于 2016-12-24 15:26:19
我也遇到过同样的问题,我的问题是通过删除https for http来修复的。你试过这个吗?对于Amazon S3部分:您可以使用gsub来实现它,如:gsub("https", "http")
发布于 2019-03-15 23:23:44
将Rails 5.2与Active Storage结合使用,再加上亚马逊的S3存储,我也遇到了同样的问题。在我的本地机器上的开发中,图像呈现得非常完美,但在Heroku上,它们被呈现为小的空矩形。
要从徽标中获取url,请上传到我使用的Active Storage:@my_object.logo.service_url。它使用标准的url和https。如前所述,用http代替它解决了这个问题。
在pdf生成器视图中使用的完整代码:
<%= wicked_pdf_image_tag @my_object.logo.service_url.gsub("https", "http") %>发布于 2019-05-14 18:07:42
两种选择
1.升级到wkhtmltopdf 0.12.5。
-或者-
2.用libssl1.0-dev安装apt-get install libssl1.0-dev。
有关更多信息,请参见此问题:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
https://stackoverflow.com/questions/41314105
复制相似问题