【问题标题】:Rails PDFKit wait for client sideRails PDFKit 等待客户端
【发布时间】:2013-09-29 11:26:52
【问题描述】:

我已经成功地将 PDFKit 实现到我的 Rails 应用程序中。但我的应用程序主要是客户端。我有很多 javascript 小部件,它们全部加载大约需要 3 秒。当我生成 pdf 时,我可以看到一些小部件已加载,一些正在加载中,而另一些则根本没有加载。

有没有办法解决这个问题?它不必太花哨。如果我可以将 PDF 生成延迟 5 秒,直到页面完成加载,那很好。

【问题讨论】:

    标签: javascript ruby-on-rails pdfkit


    【解决方案1】:

    PDFKit 使用 wkhtmltopdf 根据页面的 webkit 渲染生成 pdf。有一个 --javascript-delay 参数,看起来它可以用来延迟客户端完成的生成。

    在 pdfkit.rb 中试试这个

    config.default_options = {
      :javascript_delay => 5000
    } 
    

    【讨论】:

    • 非常感谢您的帮助。
    • 也适用于 wicked_pdf!
    【解决方案2】:

    您可以告诉 pdfkit 等到 window.status JS 变量获得特定值。

    PDFKit.new(
      ...,
      window_status: 'ready',
      ...
    )
    

    因此,在您的 javascript 中,您可以通过以下方式为 PDFKit 标记生成 PDF 的时间:

    window.status = 'ready'
    

    就这么简单:D

    不要等待超过需要的时间。无需冒险生成 PDF。

    【讨论】:

      猜你喜欢
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 2020-01-27
      • 2021-09-03
      • 2018-08-22
      相关资源
      最近更新 更多