creation template PDF

Bonjour à tous.

Je suis toujours sur mon module de gestion administrative de la formation pro qui ne devrait plus tarder à sortir en version beta.
Je génére actuellement les derniers template pdf.
Je rencontre un problème dans la gestion dynamique de la hauteur d’un multicell.
J’ai bien trouvé plusieurs liens qui m’oriente vers la page http://fpdf.org/fr/script/script3.php, mais je n’arrive pas à l’adapter au template Dolibar…

J’ai bien créé la méthode NbLines dans ma classe agf_pdf_document (class agf_pdf_document extends FPDF) mais je n’arrive pas à l’utiliser…

function NbLines($w, $txt, $FontSize)
{
//Calcule le nombre de lignes qu’occupe un MultiCell de largeur w
$cw=&$this->CurrentFont[‹ cw ›];
//if($w==0) $w=$this->w-$this->rMargin-$this->x;
if($w==0) $w=$this->espaceH_dispo;
//$wmax=($w-2*$this->cMargin)1000/ ;
$wmax=(($w-2
$this->espaceH_dispo)*1000/$FontSize);
$wmax=$this->espaceH_dispo;
//print ‹ $wmax = ›.$wmax."\n";
//print ‹ $FontSize = ›.$FontSize;exit;
$s=str_replace("\r",’’,$txt);
$nb=strlen($s);
if($nb>0 and $s[$nb-1]=="\n") $nb–;
$sep=-1;
$i=0;
$j=0;
$l=0;
$nl=1;
while($i<$nb)
{
$c=$s[$i];
if($c=="\n")
{
$i++;
$sep=-1;
$j=$i;
$l=0;
$nl++;
continue;
}
if($c==’ ') $sep=$i;
$l+=$cw[$c];
if($l>$wmax)
{
if($sep==-1)
{
if($i==$j) $i++;
}
else $i=$sep+1;
$sep=-1;
$j=$i;
$l=0;
$nl++;
}
else $i++;
}
return $nl;
}

Mais lorsque je l’appelle depuis write_file:
$this->NbLines(0 , $this->str, $this->defaultFontSize);
J’obtiens toujours la valeur 1 :frowning:

Naturellement, les varaibles $this->defaultFontSize et $this->FontSize sont définies dans la classe…

Une idée?

Merci à tous et bonne soirée.

Milles excuses pour le bruit…

Une relecture tranquille ce matin m’a donnée la solution qui était évidente…
Il suffit de passer &$pdf en premier paramètre et de remplacer $this par $pdf dans la fonction…

Il faut également penser à transmettre la hauteur de ligne du multicell en dernier paramétre ($hauteur).
le return sera donc modifié comme suit:
return $nl * $hauteur;

ensuite, tout roule…

HTH