2013-03-25 170 views
4

我想創建一個可以像動態表一樣工作的東西。可能是因爲我知道它會有多少個單元格,但是因爲我放入單元格的內容可能會有不同的長度。我用貼的fpdf站點代碼:重疊單元的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自動調整細胞?

+0

我也有這個問題,你有沒有設法解決這個問題?怎麼樣? – PinoyStackOverflower 2013-04-03 07:13:15

+0

我建議檢查[TCPDF](http://www.tcpdf.org/examples.php)庫。看起來它比'fpdf'更強大,所以這個問題可能在那裏修復。 – Andron 2013-04-03 07:44:46

+0

@Eric,我確實解決了我的問題,但並不直接>我使用MultiCell以避免重疊,但我不得不放棄垂直表格對齊,而不是創建水平表格。如果你想我不能在這裏發佈工作像我一樣 – Mithrand1r 2013-04-03 09:41:55

回答

0

您必須使用FPDF :: MultiCell()方法,該方法用於顯示多行內容。

在MultiCell中,文本會自動換行,您不會遇到這個問題。

你也可以看看FPDF上的抽象代碼,如PDMLHTML2FPDF,或者如前所述的TCPDF,但我不知道這一點。

祝您的項目順利。