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");
双引号字符串中的变量被展开。
这可能是一个新手问题。我想根据与固定模板合并的用户输入创建 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");
双引号字符串中的变量被展开。