DOMPDF 无法在 html 文件中输出值

DOMPDF cant output values in html file

这可能是一个新手问题。我想根据与固定模板合并的用户输入创建 pdf。

固定模板代码为

<body>
<div>
<?php echo $request['firstname'];?>
<?php echo $request['lastname'];?>
</div>
</body>

生成PDF的PHP文件包含

$request=array('firstname'=>$_POST['firstname'], 'lastname'=>$_POST['lastname']);

ob_start();
require_once ('pdf-template/invoice.php');
$template = ob_get_clean();

require_once ('dompdf/autoload.inc.php');
use Dompdf\Dompdf;

$dompdf = new Dompdf();
$dompdf->loadHtml('$template');

$dompdf->setPaper('A4', 'portrait');

$dompdf->render();

$dompdf->stream();

如果我回显 $template 的输出,那么我可以看到

firstname lastname

但是生成的PDF文件只包含

$template

知道为什么会这样吗?

您的代码没有按预期工作,因为您在字符串文字中使用了单引号,并且单引号没有扩展变量 - 您只是得到一个由变量名和前缀“$”组成的字符串。相反,您可以使用:

$dompdf->loadHtml($template);

如果你想使用你的模板作为加载的一部分 html,你应该使用双引号,例如:

$dompdf->loadHtml("Personal data: <br>$template");

双引号字符串中的变量被展开。