Problème de présentation lors d'écriture d'un pdf

Eléphant du PHP | 89 Messages

05 sept. 2022, 20:38

Bonjour, voilà j'ai un problème mon code génère un pdf et permet de récupérer les informations qui ont été écrit dedans précédemment. Jusqu'ici tous fonctionne cependant c'est lors de la réécriture de toutes les informations que j'ai un problème je n'arrive pas à faire en sorte que le nouveaux texte (ici $competence) soit séparer de l'ancien texte par un retour à la ligne. Pouvez vous me dire ce que j'ai mal fait ?

Code : Tout sélectionner

<?php require('fdpf/fpdf.php'); require_once('FPDI-2.3.6/src/autoload.php'); use \setasign\Fpdi\Fpdi; class PDF extends FPDF { // Pied de page function Footer() { // Positionnement à 1,5 cm du bas $this->SetY(-15); // Police Arial italique 8 $this->SetFont('Arial','I',8); // Numéro de page $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } $pdf = new Fpdi(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->setSourceFile("./appreciation/$ps.pdf"); $tplIdx = $pdf->importPage(1); // Police Arial gras 15 $pdf->SetFont('Arial','B',15); // Décalage à droite $pdf->Cell(80); // Titre $pdf->Cell(50,10,"$ps",1,0,'C'); // Saut de ligne $pdf->Ln(20); $pdf->SetFont('Times','',12); $pdf->useImportedPage($tplIdx,); $pdf->Cell(0,10,"\n"."$competence",0,1); $pdf->Output("F","./appreciation/$ps.pdf"); ?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 sept. 2022, 20:01

Il faut que tu utilises MultiCell et non pas Cell pour que les retours à la ligne soient possibles :
http://www.fpdf.org/en/doc/multicell.htm
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 89 Messages

06 sept. 2022, 20:26

Merci pour ton indication. J'ai changer le Cell par un MultiCell cependant j'ai un second problème car cela fait bien un retour à la ligne mais je ne peux pas me fié qu'à des retour à la ligne pour que $competence s'affiche après $pdf->useImportedPage($tplIdx,);
Car ce dernier peut contenir jusqu'à plusieurs ligne il me faudrait donc un moyen pour que $competence s'affiche toujours après peux importe sa taille. Mais je ne sais pas comment faire ...

Eléphant du PHP | 89 Messages

07 sept. 2022, 23:14

Bon j'ai continuer sur la ce qu'il va se passer avec le programme après la création des document pdf mais je rencontre un problème: j'ai du utiliser str_replace pour remplacer l'espace qu'il y a au milieu du nom du fichier pdf par un _. Cependant depuis la partie qui est sensé récupérer ce qui était déjà écrit dans le dossier ne fait plus son travail alors que j'ai juste changer le nom de la fonction à laquelle il était relié pour qu'il crée le document avec un _ au lieu d'un espace.

Code : Tout sélectionner

<?php require('fdpf/fpdf.php'); require_once('FPDI-2.3.6/src/autoload.php'); use \setasign\Fpdi\Fpdi; class PDF extends FPDF { // Pied de page function Footer() { // Positionnement à 1,5 cm du bas $this->SetY(-15); // Police Arial italique 8 $this->SetFont('Arial','I',8); // Numéro de page $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } $pdf = new Fpdi(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->setSourceFile("./appreciation/$resStr.pdf"); $tplIdx = $pdf->importPage(1); // Police Arial gras 15 $pdf->SetFont('Arial','B',15); // Décalage à droite $pdf->Cell(80); // Titre $pdf->Cell(50,10,"$ps",1,0,'C'); // Saut de ligne $pdf->Ln(20); $pdf->SetFont('Times','',12); $pdf->useImportedPage($tplIdx,); $pdf->MultiCell(0,10,"\n$competence",0,1); $pdf->Output("F","./appreciation/$resStr.pdf"); ?>
Aider moi :( pourquoi ça ne marche plus ?