如何用tcpdf在图像上写文字?

时间:2016-08-17 23:02:07

标签: php html pdf tcpdf

我想用tcpdf生成dynvouchers pdf。我没有用户名和密码就可以获得正确的pdf。这是我的代码:

$html = '';
$html .= '<table><tr>';
for ($a = 1; $a <= 5; $a++) {

    $html .= '
    <td>
    <div style="height: 300px; width: 320px;background-image:url(Voucher5.png)">
        <br><br><br><br><br><br>
        <table  style="height: 20px; margin: 0px 0px 0px 10px;" width="300">
        <tr>
        <td width="160">'.$username.'</td>
        <td width="160">'.$password.'</td>
        </tr>
        </table>    
    </div>
    </td>';
if($a%2==0){
    $html.='</tr><tr><td></td></tr><tr>';
}
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
$pdf_file_name = 'custom_header_footer.pdf';
$pdf->Output($pdf_file_name, 'I');

我想要这样的pdf页面。

enter image description here

2 个答案:

答案 0 :(得分:0)

我不知道您的用户名/密码值来自何处,这可能来自数据库查询或文件等。因此,您需要在代码中包含该值以设置用户名/密码数据。< / p>

但是,串联字符串和PHP变量的方式不正确。 您应该使用DOT字符以这种方式正确连接HTML中的php变量(即字符串),而不是使用<td width="160">'$username'</td>

<td width="160">' . $username . '</td>

希望能帮到你。

答案 1 :(得分:0)

TCPDF对css属性的支持有限。 background-image不支持TCPDF。您可以使用background-color属性而不是background-image

参考:TCPDF - adding a background to a table cell or div that shows on PDF

$html = '';
$html .= '<table cellspacing="3" cellpadding="3"><tr>';
for ($a = 1; $a <= 5; $a++) {
   $html .= '
   <td>
   <div style="background-color:blue; color:#fff; text-align: center;">
   <br><br><br><br>
     <table border="1" >
     <tr>
       <td width="100">'.$username.'</td>
       <td width="100">'.$password.'</td>
     </tr>
     </table>     
  </div>
 </td>';
 if($a%2==0){
 $html.= '</tr><tr>';
 }
}
$pdf->writeHTML( $html, true, false, true, false, '');
$pdf->lastPage();
$pdf_file_name = 'custom_header_footer.pdf';
$pdf->Output($pdf_file_name, 'I');