我正在使用wickedpdf
gem从pdf
代码生成invoice
html
。
宝石:
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
正在生成。但图像没有显示。在图像的地方空盒子来了。无法找到问题。
答案 0 :(得分:6)
我遇到了同样的问题,我通过删除/var/www/html
https
来解决问题。你试过这个吗?对于Amazon S3部分:您可以使用http
作为:gsub
答案 1 :(得分:3)
将Rails 5.2与Active Storage结合使用与Amazon S3存储一起使用,我遇到了同样的问题。 在我的本地计算机上进行开发时,图像完美呈现,但是在Heroku上 它们显示为小的空白矩形。
要从上载到Active Storage的徽标中获取URL,我使用了@my_object.logo.service_url
。
其中将标准网址与https
一起使用。如前所述,将其替换为http
解决了该问题。
我的pdf生成器视图中使用的完整代码:
<%= wicked_pdf_image_tag @my_object.logo.service_url.gsub("https", "http") %>
答案 2 :(得分:0)
wkhtmltopdf 0.12.5
。-或-
libssl1.0-dev
与apt-get install libssl1.0-dev
一起安装。有关更多信息,请参见此问题:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001