Где я могу увидеть вывод отладки javascript, когда wkhtmltopdf работает в режиме отладки (-debug-javascript)
Отладка javascript в wkhtmltopdf
Ответ 1
Другим (я бы сказал, самым простым) средством отладки javascript в WKHTMLTOPDF является загрузка QT Browser, основного браузера, используемого WKHTMLTOPDF, и проверка выполнения javascript для вашей страницы из браузера.
Вы можете скачать его из здесь
Инструкции по отладке javascript в QT здесь
В основном вы можете отлаживать свой JavaScript в QT Browser так же, как и в Chrome или Firefox.
Ответ 2
Рендеринг test.html
<!DOCTYPE html>
<html>
<head></head>
<body>
BODY
<script>
console.log('Hi!');
</script>
</body>
</html>
как это
wkhtmltopdf test.html test.pdf --debug-javascript
должен вернуть что-то вроде этого
Loading pages (1/5)
Warning: :0 Hi!
Resolving links (2/5)
Counting pages (3/5)
Printing pages (5/5)
Done
Ответ 3
Хотя Daffy Punks отвечает правильно, у меня появилась дополнительная идея несколько недель назад, что очень помогло мне. Это я хочу поделиться: Показать в PDF
При визуализации макета для PDF я добавляю дополнительный (скрытый) DIV #pdf_errors
И очень рано в исходном коде - если #pdf_errors
здесь - я разрешаю вывод точки консоли для заполнения этого div, а при ошибке - показывать его. Это не отладка, но, по крайней мере, я вижу, что происходит не так.
Источник в coffeescript, мои простые javascript-времена давно ушли...
if ($pdf=$("#pdf_is_here")).length
for type in ["log","warn","error"]
do (type) =>
console[type]= (a...) =>
$pdf.append("<div class='#{type}'>#{s}</div>") for s in a
window.onerror= (messageOrEvent, source, lineno, colno, error) =>
$pdf.append("<div class='critical'>#{messageOrEvent}</div>")
$pdf.show()
$pdf.hide() # just in case css is not here