这是我关于SO的第一篇文章,我希望我能做到这一点。
我在mySQL数据库中有一个包含HTML的列。我使用以下代码检索此内容:
$sql = "SELECT html_content FROM my_table WHERE sent_flag = 0";
$statement = $con->prepare($sql);
$statement->execute();
$array = $statement->fetchAll(PDO::FETCH_NUM);
unset($statement);
$html = $array[0][0];
我知道我正在获取表中列的内容,因为我可以回应它(是的,我知道TCPDF只能输出到.pdf文件,我只是回应它以确保内容在$ HTML)
我写的内容如下:
$pdf->AddPage();
$pdf->SetFont('times','','12','','false');
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
//Close and output PDF document
$pdf->Output('test.pdf', 'I');
这导致一个空的.pdf文件。有什么奇怪的我可以使用phpMyAdmin从列中复制内容并将其直接分配给$ html,并且.pdf文件创建正常。关于发生了什么以及如何纠正它的任何建议都非常感谢。
另外,如果我只是这样写:
$pdf->Write(0, $html, '', 0, 'C', true, 0, false, false, 0);
我确实得到一个带有html标签的.pdf文件。
答案 0 :(得分:0)
试试这种方式。
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, 'LETTER', true, 'UTF-8', false);
$pdf->SetMargins(PDF_MARGIN_LEFT, 0, PDF_MARGIN_RIGHT,true);
$pdf->AddPage();
@$pdf->writeHTML($html);
$pdf->Output('test.pdf', 'I');