LoginSignup
0
2

More than 5 years have passed since last update.

Riotで生成したページをPDFにしようとして

Posted at

wkhtmltopdfは、WebKitエンジンを使ってHTMLからPDFを起こしてくれるソフトウェアです。HTMLやCSSだけでなく、JavaScriptも解釈してくれるし、独立したプログラムということもあって、RailsからでもPHPからでも便利に使えます。

なぜか処理に失敗

で、RiotでレイアウトしたページをPDFにする必要性が出てきたので、そのままwkhtmltopdfに投げてみたところ、出てきたものはRiotのタグがすっかり抜けたものとなってしまいました。どうしようかと調べてみると、--debug-javascriptという、JavaScriptの実行状況を出力するオプションがあったので、何かヒントが得られないかやってみました。

Warning: undefined:0 TypeError: 'undefined' is not a function

とりあえずJavaScriptのエラーらしいことはわかったのですが、原因が判然としないので、「'undefined' is not a function」などを手がかりに検索していきました。すると、C3.jsというライブラリのIssueにたどり着きました。

解決策

wkhtmltopdfの環境ではFunction.prototype.bindがないためにエラーとなるということで、Polyfillを入れれば解消するとのことでした。

Function.prototype.bind = Function.prototype.bind || function (thisp) {
  var fn = this;
  return function () {
    return fn.apply(thisp, arguments);
  };
};
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2