TCPDF,php变量值未显示在已保存的pdf文件中

Mir*_*rko 1 tcpdf

我使用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">&nbsp;</td>
<td width="620">&nbsp;</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="620">$name</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td>&nbsp;</td>
<td width="10">&nbsp;</td>
</tr>
</table>

<table id="score" cellpadding="0" >
<tr>
<td width="10" height="180">&nbsp;</td>
<td width="620">&nbsp;</td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="620">$score</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="10" height="207">&nbsp;</td>
<td>&nbsp;</td>
<td width="10">&nbsp;</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>&nbsp;</td>
<td width="620" height="20"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="50">&nbsp;</td>
<td>$ku_number</td>
<td >&nbsp;</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>&nbsp;</td>
<td width="420" height="20">$date</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="50">&nbsp;</td>
<td></td>
<td >&nbsp;</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)

我希望这会起作用。