0

这是我在 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 文件。

4

1 回答 1

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');
于 2013-07-22T06:37:54.047 回答