【问题标题】:how to display map on pdf with wicked_pdf in rails?如何在rails中使用wicked_pdf在pdf上显示地图?
【发布时间】:2017-05-15 13:19:01
【问题描述】:

我正在使用 wicked_pdf 在我的 rails 应用程序中生成 pdf。

我需要使用 iframe 在 pdf 上显示地图。

我在地图上使用了下面的代码。

%iframe{:frameborder => "0", :height => "200", :src => "https://maps.google.com/maps?q=#{spot_details.lat}, #{spot_details.lng}&hl=es;z=14&output=embed", :style => "border:0;width:100%;margin-bottom:20px"}

但它给了我这样的没有地图的简单框架http://storage1.static.itmages.com/i/17/0515/h_1494853712_9065572_7571a033f7.png

任何人,请建议我如何使用 rails 应用程序在 wicked_pdf 上显示地图。

【问题讨论】:

    标签: ruby-on-rails-3 pdf wicked-pdf


    【解决方案1】:

    它似乎对我有用。

    Commit adding Google map in Iframe to wicked_pdf_issues project

    Resulting PDF - default style issue, but definitely working

    您是否有其他可能会干扰的 JavaScript 或样式表?

    如果您从 Google 到服务器的连接速度较慢,则可能是时间问题。

    尝试使用 javascript_delay 选项增加默认的 JavaScript 渲染超时,如下所示:

    render pdf: 'mypdf',
      javascript_delay: 5000 # wait 5 seconds for JS to fully execute
    

    【讨论】:

    • 我添加了 javascript_delay,如下所示:format.pdf { render :pdf => @trip_itinerary.trip.trip_name, :show_as_html=>false, :footer=>{:right => "#{Time. now}", :font_size => 8, :center => '[page]'},:size=>{:paperSize=>'A4'}, :margin=>{:top=>'0.8cm', : bottom=>'1cm', :left=>'1.5cm', :right=> "0.3cm"}, :javascript_delay=> 5000} 但出现如下错误:错误:无法生成 PDF!命令错误:未知长参数--javascript-delay
    • @AmitBhanderi 您必须使用不支持--javascript-delay 的旧版wkhtmltopdf。请更新到较新的版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多