PDF生成器wkhtmltopdf(版本0.12.5)未使用javascript显示任何结果。
我正在尝试在Mac上使用PDF生成器wkhtmltopdf。它呈现的是pdf静态内容,而不是简单的javascript代码(如下面的示例所示)。
在test.html中使用以下html:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
let d = new Date();
document.body.innerHTML = "<h1>Today's date is " + d + "</h1>"
</script>
<p>testar</p>
</body>
</html>
并在终端中对其进行测试:
$ wkhtmltopdf --enable-javascript --debug-javascript public/test.html test4.pdf
在终端输出:
Loading pages (1/6)
Warning: file:///Users/anders/vapor/projectDovi/public/test.html:7 SyntaxError: Parse error
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
我希望输出显示今天的日期,但是在生成的PDF中仅显示静态文本“ testar”。
如上所示,我得到的错误是
警告:7 SyntaxError:分析错误
最佳答案
wkhtmltopdf 0.12.5
内部使用旧的Webkit浏览器,并且不支持let
,您必须在基本示例中使用var
,然后它才能工作。如果您希望使用wkhtmltopdf 0.12.5
,则您的JavaScript必须与ES5兼容。
请注意,Webkit的渲染也可能与Chromium不同。