Rails PDFKit等待客户端

时间:2013-09-29 11:26:52

标签: javascript ruby-on-rails pdfkit

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

有什么方法可以解决这个问题吗?它不一定太花哨。如果我可以延迟PDF生成5秒钟,直到页面加载完毕,那很好。

2 个答案:

答案 0 :(得分:8)

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

在pdfkit.rb

中试试
config.default_options = {
  :javascript_delay => 5000
} 

答案 1 :(得分:0)

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

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

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

window.status = 'ready'

这很简单:D

不等待超过需要。不希望在希望之前生成PDF。