4

我想创建一个可以像动态表一样工作的东西。可能是因为我知道它将有多少个单元格,但有点因为我放入单元格的内容可能是不同的长度。我使用了fpdf网站发布的代码:

require('fpdf/fpdf.php');
class PDF extends FPDF{
function BasicTable($header, $data)
{
    // Header
    foreach($header as $col)
        $this->Cell(40,7,$col,1);
    $this->Ln();
    // Data
    foreach($data as $row)
    {
        foreach($row as $col)
            $this->Cell(40,6,$col,1);
        $this->Ln();
    }
}
}

现在,如果我将这些值放入表中:

$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)');
$data =  array(array('a','a','a','a'), array('a','a','a','a'), array('a','a','a','a'), array('a','a','a','a'));
$pdf->SetY(45);
$pdf->BasicTable($header,$data);

一切都好。但是,当我想将我的内容更改'a'为更复杂的内容时,例如由几个单词组成的句子,我的文本正在“离开”单元格并开始与下一个单元格重叠。

fpdf中有没有办法自动调整单元格?

4

1 回答 1

0

您必须使用 FPDF::MultiCell() 方法,该方法用于显示多行内容。

在 MultiCell 中,文本会自动换行,您不会遇到这个问题。

您还可以查看 FPDF 上的抽象代码,例如PDMLHTML2FPDF,或者如前所述的 TCPDF,但我不知道这个。

祝你的项目好运。

于 2013-04-03T08:15:59.673 回答