質問: { 'pageSize': 'A3', //用紙サイズ 'dpi': '300', // 解像度 'output': "./pdf/output.pdf", // 出力ファイル名 'encoding': 'utf8', // 日本語対応 'javascript-delay': "15000", // JS実行待ち時間 'debug-javascript': true } wkhtmltopdf(url, config) ```
回答: 私も過去にプリントデバッグを行ったのですが、そのときは以下のようにして、ちょっとだけやりやすくしました。 ``` // どこからでも使用できるようにエントリーポイント近辺で // windowオブジェクトに擬似consoleを作り、PDF(HTML)上に出力するようにする var consoleArea = document.getElementById("debug-console-area") window.console = { log: function(msg) { consoleArea.innerHTML += "" + msg; }, assert: function(expect, msg) { if (expect) return; console.log('' + msg + "") } } // どこからでも普通のブラウザで実行するのと同じように使用 console.log("hoge") console.assert(hogeFlag, "hogehoge") ``` また、htmlファイルが作られているなら、ターミナルから `wkhtmltopdf --debug-javascript hoge.html result.pdf` のように実行すれば、console.logの出力はターミナル(標準出力)になるので多少はデバッグがしやすくなります。 ちなみに、wkhtmltopdfはQtブラウザというものを内包してレンダリング等を行っているのですが、そのブラウザは組込み用途のWebkitベースらしく、ES5であっても使えない機能がある印象です。(軽量化のために削除しているのかなと推測しています)