Home
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Aller en basPage: 1
SUJET: creation template PDF
   28/04/10 à 18:34 #20996
erick
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour consulter le profil de cet utilisateur
 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 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

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

Une idée?

Merci à tous et bonne soirée.
 
Dernière édition: 28/04/10 à 18:47 Par erick.
L'administrateur a désactivé l'accès public en écriture.
   29/04/10 à 09:50 #20999
erick
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour consulter le profil de cet utilisateur
 Re:creation template PDF
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
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1
Développé par KunenaObtenir les derniers messages directement sur votre PC - Version française: SFK