我使用TCPDF创建了一个pdf文件,并使用heredoc语法填充了一些php变量和当前日期
生成pdf并在浏览器中查看时,一切都很好,但是在保存的pdf文件中,不显示php变量值,仅显示日期...
我像这样在顶部声明变量:
$name = $_POST['name'];
$score = $_POST['percentage'];
$ku_number = $_POST['ku-number'];
$date = Date('d - m - Y');
Run Code Online (Sandbox Code Playgroud)
在保存的pdf上仅显示$ date。
有什么建议吗?
谢谢
编辑:将变量传递到TCPDF的代码
// Print a text
$html = <<<EOF
<!-- EXAMPLE OF CSS STYLE -->
<style>
table{
text-align:center;
color:#000;
}
</style>
<table id="name" cellpadding="0">
<tr>
<td width="10" height="80"> </td>
<td width="620"> </td>
<td width="10"> </td>
</tr>
<tr>
<td> </td>
<td width="620">$name</td>
<td> </td>
</tr>
<tr>
<td width="10"> </td>
<td> </td>
<td width="10"> </td>
</tr>
</table>
<table id="score" cellpadding="0" >
<tr>
<td width="10" height="180"> </td>
<td width="620"> </td>
<td width="10"> </td>
</tr>
<tr>
<td> </td>
<td width="620">$score</td>
<td> </td>
</tr>
<tr>
<td width="10" height="207"> </td>
<td> </td>
<td width="10"> </td>
</tr>
</table>
<table id="ku-number" cellpadding="0" >
<tr height="2">
<td width="50" height="2"></td>
<td width="620" height="2"></td>
<td width="10" height="2"></td>
</tr>
<tr>
<td> </td>
<td width="620" height="20"></td>
<td> </td>
</tr>
<tr>
<td width="50"> </td>
<td>$ku_number</td>
<td > </td>
</tr>
</table>
<table id="date" cellpadding="0" >
<tr height="2">
<td width="50" height="2"></td>
<td width="620" height="2"></td>
<td width="10" height="2"></td>
</tr>
<tr>
<td> </td>
<td width="420" height="20">$date</td>
<td> </td>
</tr>
<tr>
<td width="50"> </td>
<td></td>
<td > </td>
</tr>
</table>
EOF;
$pdf->writeHTML($html, true, false, true, false, '');
//Close and output PDF document
$pdf->Output('certificate.pdf', 'I');
Run Code Online (Sandbox Code Playgroud)
小智 6
我有同样的问题。我通过尝试以下自己提到的事情找到了解决方案:
请使用串联将$ html字符串分成多个部分。这肯定会解决问题。例如我用了这样的东西:
$html = 'HTML CONTENT BREAKS HERE' . $variable_name . 'HTML CONTENT CONTINUES HERE' ;
Run Code Online (Sandbox Code Playgroud)
通常,大多数开发人员会在$ html值内使用PHP变量,
$html = 'HTML CONTENT echo php variable HTML CONTENT' ;
Run Code Online (Sandbox Code Playgroud)
我希望这会起作用。