我使用TCPDF创建了一个pdf,我用一些php变量填充它,并使用heredoc语法填充当前日期
在浏览器中生成并查看pdf时,一切都很好,但在保存的pdf文件中,不显示php变量值,只显示日期...
我将变量放在顶部,如下所示:
$name = $_POST['name'];
$score = $_POST['percentage'];
$ku_number = $_POST['ku-number'];
$date = Date('d - m - Y');
保存的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');
答案 0 :(得分:6)
我遇到了同样的问题。我通过实验自己提到的方法找到了一个解决方案如下:
请使用连接将$ html字符串分解为多个部分。这肯定会解决问题。例如我使用过这样的东西:
$html = 'HTML CONTENT BREAKS HERE' . $variable_name . 'HTML CONTENT CONTINUES HERE' ;
通常,大多数开发人员都会在$ html值中使用PHP变量,
$html = 'HTML CONTENT echo php variable HTML CONTENT' ;
我希望这会奏效。
答案 1 :(得分:0)
获得更精确的结果:
输出最终PDF: 当您完成所有必需的单元格,图像,链接,文本等的创建后,您必须调用Output()方法来实际掌握动态创建的PDF。这可以不带参数,在这种情况下,PDF被发送到浏览器,但更常见的是,开发人员指定生成的PDF的文件名和目的地。目的地可以是四个值之一,它们是:
I:将文件内联发送到浏览器。
D:发送到浏览器并使用名称给出的名称强制下载文件。
F:保存到名称给出名称的本地文件。
S:将文档作为字符串返回。
您可以看到我的代码将目标值设置为F:
$pdf->Output(”./pdfs/example.pdf”, “F”);
引自:this
有一个bAlaNCeD生活!
答案 2 :(得分:0)
在输出PDF之前使用$ _SESSION存储变量解决了问题
积分转到Yuri Stuken