【发布时间】:2017-03-10 06:40:16
【问题描述】:
我正在使用 laravel-dompdf 生成一个带有结果摘要的 PDF,由表格和一些图像组成,没什么了不起的。我也想在生成的 PDF 中打印 highcharts。所以首先,我想尝试一个简单的 javascript 代码,看看它是否有效……但事实并非如此。我启用了"DOMPDF_ENABLE_JAVASCRIPT" => true,但到目前为止还没有运气。我要打印的简单代码:
<div>foo</div>
<span id="insertHere"></span>
<div>bar</div>
<script>
var el = document.getElementById('insertHere');
el.innerHTML = '<div>Print this after the script tag</div>';
</script>
这只会打印 foo 和 bar.. 有人可以帮帮我吗?
【问题讨论】:
-
我在 github repo 上找不到有关此功能的任何可靠信息。而且我找不到任何似乎可以做你想做的事的好图书馆。我看到的最好的方法是使用一个生成图像格式图表的 PHP 库......如果你真的想使用 HighChart,你需要找到一个像 PhantomJS 这样能够实际执行和呈现 javascript 代码的库。 ..
-
我已经害怕我会得到这个答案 :-(。谢谢!
-
<script>标签在顶层吗?如果是这样,请尝试将其包装在<div>中。 -
有趣的@simon,我用将大家好,谢谢大家的cmets。我已经尝试过@pnsh 的答案,这很有效。我开始认为 dompdf 只能处理简单的 javascript,而不能处理图形。不幸的是,但不是世界末日。我想我会建议用户通过导出模块保存HighChart,并分别打印PDF和HighChart。
标签: javascript php laravel highcharts dompdf