7

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

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

4

2 回答 2

8

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

在 pdfkit.rb 中试试这个

config.default_options = {
  :javascript_delay => 5000
} 
于 2013-09-29T21:56:36.343 回答
0

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

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

因此,在您的 javascript 中,您可以为 PDFKit 标记是时候通过执行以下操作来生成 PDF:

window.status = 'ready'

就这么简单:D

不要等待超过需要的时间。在希望之前不要冒险生成 PDF。

于 2018-03-27T13:40:28.257 回答