Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > phpToPDF
phpToPDF Forum d'entraide pour la classe phpToPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels EZPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2007, 13h38   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 2
Points : 2
Par défaut [FPDF] Chaînes longues - retour à la ligne auto ?

Bonjour,
Je dois générer des pdf de reporting à partir de données stockées dans ma BDD MySql.

Je génère mon document avec PHPTOPDF, mais j'ai un gros souci avec les variables qui contiennent beaucoup de caractères.
Parfois un champ peut comporter jusqu'à 200 caractères, et la phrase commence au bon endroit sur la page pdf... mais elle se termine en dehors de l'écran

par exemple:
$tt fait 195 caractères de long.

$PDF->Cell(0,10,$tt,1,1,'L');

Bien que faisant toute la largeur de la page, la cellule est évidemment trop courte pour afficher $tt entièrement et les 3/4 du texte partent à droite hors de l'écran.. donc invisible

Je n'ai pas trouvé dans la commande CELL une instruction qui fait passer à la ligne au bout de par exemple 80 caractères... un genre de wordwrap automatique.

Avec multicell pourrais-je arriver à afficher une chaine sur plusieurs lignes? Je n'ai vu que des exemples avec des retours chariot "manuels"...

Comment faire?

Merci pour votre aide.
Patrick
patrickzfr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 13h46   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Si tu lis la documentation de MultiCell()
Citation:
Cette méthode permet d'imprimer du texte avec des retours à la ligne. Ceux-ci peuvent être automatiques (dès que le texte atteint le bord droit de la cellule) ou explicites (via le caractère \n). Autant de cellules que nécessaire sont imprimées, les unes en dessous des autres.
Donc apparemment les retours a la ligne se font automatiquement quand tu atteins le bord droit de ta cellule
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 13h59   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 2
Points : 2
Effectivement, ça fonctionne, mais chaque ligne est séparée par une ligne vide qui n'a rien à faire là.
On dirait que 2 retours chariot ont été insérés, et donc qu'on a affaire à 2 phrases indépendantes alors que c'est une seule et unique phrase!

Ca prend donc une place folle et en plus c'est affreux

Comment ne générer qu'un seul saut à la ligne et pas 2?
ma syntaxe:
$PDF->MultiCell(0,10,$risks,1,1,'L');
patrickzfr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 17h07   #4
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, tu as essayé en baissant ton deuxième paramètre ??? qui est la hauteur de la ligne..

Code :
$PDF->MultiCell(0,6,$risks,1,1,'L');

++
JC
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 20h05   #5
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 2
Points : 2
C'est ok avec une valeur de 5 c'est parfait! merci!

je pensais que cette valeur correspondait à la hauteur des caractères et comme je suis en Arial 10, je n 'avais pas modifié

J'ai maintenant un autre petit souci: faire un retour chariot dans un MultiCell avec 2 variables. Voila ma ligne:

$PDF->MultiCell(0,5,'Team Manager: '.$manager.'\nProject Manager: '.$cdp,1,1,'L');

Elle m'affiche tout sur la même ligne avec le \n visible qui n'est donc pas pris en compte. Je n'arrive pas à trouver la syntaxe qui va bien
patrickzfr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 20h39   #6
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Je crois qu'il y a un soucis avec le \n et les quotes '

Tu devrais essayer

Code :
1
2
 
$PDF->MultiCell(0,5,"Team Manager: ".$manager."\nProject Manager: ".$cdp,1,1,'L');
++
JC
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 21h01   #7
Invité de passage
 
Inscription : octobre 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 9
Points : 2
Points : 2
Oui c'est bien ça

Je suis trop habitué aux 'quotes' avec php que j'en ai oublié de faire l'essai avec des guillemets !
Merci pour tout!
patrickzfr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h14.


 
 
 
 
Partenaires

Hébergement Web