JavaScript 在 laravel-dompdf

JavaScript in laravel-dompdf

我正在使用 laravel-dompdf 生成包含结果摘要的 PDF,由表格和一些图像组成,没什么特别的。我也想在生成的 PDF 中打印图表。因此,首先,我想尝试一个简单的 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..有人可以帮我吗?

Dompdf(或更具体地说,它用于 PDF 渲染的后端)并没有真正渲染 javascript。它所做的是 - 它解析 <script type="text/javascript"></script> 标签内的所有内容,并将其添加到 pdf 文件的特殊部分。

我不确定这个 javascript 是否是您所需要的,因为您可以在 <script> 标签之外使用 dom 树。你可以做的是编写简单的场景,例如像这样的场景:

<div>foo</div>
    <span id="insertHere"></span>
<div>bar</div>

<script type="text/javascript">
    app.alert({cMsg:"Message", cTitle: "Title"});
</script>

尝试打开生成的文件,您会看到警告。

这里有关于您可以在 javascript 部分做什么的更完整指南:Acrobat JavaScript Scripting Guide