使用FPDF从PHP呈现HTML

时间:2014-04-03 01:50:59

标签: php html fpdf

在转换为PDF时渲染html时遇到一些问题。这让我精神恍惚,我不知道发生了什么。我的想法是,我在一个存储HTML标签的mysql数据库中有一个html表单,而不是,我使用PHP将其拉出来,呈现HTML并将其显示为PDF。我的问题是它不会呈现HTML。它只是文本而且格式化很远。这是我到目前为止的代码:

$indemResult = mysqli_query($conn,"SELECT * FROM Indemnity");
$indemRow = mysqli_fetch_array($indemResult);
require('../include/PDFConverter/fpdf.php');
$pdf = new PDF();
$pdf->SetMargins(0,0,0);
$pdf->AddPage();
$pdf->SetFont('Arial','',12);

//Insert Banner
$pdf->Image('../assets/pdfBanner.png');
$pdf->Ln();
$pdf->Ln();

//Insert Indemnity form
$pdf->SetXY(50, 65);
$pdf->cMargin = 10;
$pdf->SetFont('Arial','',24);
$pdf->Cell(0, 10, $pdf->Write(1,'Indemnity Form'), 0, 1,'C', false);

$pdf->SetFont('Arial','',12);
$text=$pdf->WriteHTML(utf8_decode($indemRow['form']));
$wrap=$pdf->WordWrap($text,120);
$pdf->MultiCell(0,0,$pdf->Write($wrap, ''));

1 个答案:

答案 0 :(得分:2)

我的问题出在WriteHTML类中。它不支持UL LI标签,所以我使用了它:

http://fpdf.de/downloads/addons/53/

我剥离了createPDF类,在类PDF中扩展FPDF我从PDF函数中删除了$_title, $_url, $_debug=false,我还从写入HTML函数和我删除的writeHTML函数中删除了$bi

$this->bi=$bi;
        if ($bi)
            $html=strip_tags($html, "<a><img><p>
<font><tr><blockquote><h1><h2><h3><h4><pre><red><blue><ul><li><hr><b><i><u><strong><em>"); 

我希望这可以帮助那些尝试在将HTML放入PDF之前呈现HTML的人