代码之家  ›  专栏  ›  技术社区  ›  John

wickedpdf不呈现图像?

  •  4
  • John  · 技术社区  · 8 年前

    我正在使用 wickedpdf 生成宝石 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 正在生成。但是没有显示图像。代替图像的是空盒子。无法找到问题。

    3 回复  |  直到 2 年前
        1
  •  14
  •   Kevin Etore    8 年前

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

        2
  •  3
  •   iguido    5 年前

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

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

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

    <%= wicked_pdf_image_tag @my_object.logo.service_url.gsub("https", "http") %>
    
        3
  •  3
  •   Joshua Pinter    5 年前

    两种选择

    1.升级到 wkhtmltopdf 0.12.5 .

    -或-

    2.安装 libssl1.0-dev 具有 apt-get install libssl1.0-dev .

    有关更多信息,请参阅本期: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001