2012-11-14 30 views
1

我使用FPDF生成顯示產品詳細信息的pdf,顯然這將使可變文本長度導致單元格高度不同。FPDF檢查多節點的高度

在這種情況下,我正在檢查產品中含有多少香料,然後顯示每種產品的名稱和說明,同時保持應記錄的行數。

for ($i = 0;$i <= $countfrag; $i++) { 
    $pdf->SetXY(102, $next); 
    $fragname = $ranges->getFragName($fragcount[$i]); 
    $fragdesc = $ranges->getFragDesc($fragcount[$i]); 
    $pdf->SetFont('Arial','B',10); 
    $pdf->MultiCell(88,4, $fragname, 0, L); 
    $next = $next + 4; 
    $pdf->SetFont('Gill','',11); 
    $pdf->SetXY(102, $next); 
    $pdf->MultiCell(98,4, $fragdesc, 0, L); 
    $len = $pdf->GetStringWidth($fragdesc); 
    $remain = ceil($len/98) + 1; 
    $extra = $remain * 4; 
    $next = $next + $extra; 
    } 

,你可以看到,我得到的字符串的寬度與$ PDF-> GetStringWidth,然後將通過該多(98),然後加入1的寬度來獲得加1得到在下一個打印之前有額外的行空間。

儘管這在大部分情況下都起作用,但它在我創建的一些pdf上確實存在問題。

我有一個地方正在以373.2784計算LEN和它只是給我的4號線在那裏,因爲它需要5行的空間是一致的高度..

回答

0

FPDF不支持好Multicells! FPDF已經停止支持,我想幾年前。使用TCPDF它幾乎具有相同的功能/調用(> 95%)。它是完全先進的,並有一個超級文檔。 TCPDF支持事務,Multicell和UTF-8。

+0

似乎仍然記錄在他們的網站上,沒有任何形式的棄用通知。而且多單元的功能比我使用的數學可能更少。不幸的是,我沒有時間在這個項目上轉換平臺。 – user1372212