这可能是一个新手问题。我想从与固定模板合并的用户输入创建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文件仅包含
$模板
知道为什么会这样吗?
答案 0 :(得分:0)
您的代码没有按预期工作,因为您在字符串文字中使用单引号并且单引号不扩展变量 - 您只需获得一个由变量名称组成的字符串,前面带有&#39; $& #39 ;.相反,您可以使用:
$dompdf->loadHtml($template);
如果要将模板用作加载的html的一部分,则应使用双引号,例如:
$dompdf->loadHtml("Personal data: <br>$template");
双引号字符串中的变量被扩展。