【问题标题】: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
}
【解决方案2】:
您可以告诉 pdfkit 等到 window.status JS 变量获得特定值。
PDFKit.new(
...,
window_status: 'ready',
...
)
因此,在您的 javascript 中,您可以通过以下方式为 PDFKit 标记生成 PDF 的时间:
window.status = 'ready'
就这么简单:D
不要等待超过需要的时间。无需冒险生成 PDF。