IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] recreer ou redimensionner une multicell ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut [FPDF] recreer ou redimensionner une multicell ?
    Bonjour,

    je voulais savoir s'il etait possible (si oui, comment) de recreer ou redimensionner une multicell.
    je m'explique.
    j'ai un emplacement reserve (exemple 200x200) a une phrase de taille variable.
    en gros, j'ai ca
    +----------------+
    |+--------------+|
    ||
    ||emplacement 1 ||
    |+--------------+|
    |+--------------+|
    ||emplacement 2 ||
    ||
    |+--------------+|
    +----------------+

    mes textes dans les 2 emplacements peuvent faire 1,2 ou 3 lignes. et sont en arial 11.
    ils sont verticalement centres par rapport a l'emplacement "globale" si je puis dire (en modifiant le nombre de sauts de lignes pour l'emplacement 1) (le texte 2 commencant en haut a gauche, pas de probleme)

    mon probleme est le suivant
    si le texte 1 fait 3 lignes, il depasse et fini par dessus le texte 2 (qui devient illisible)
    du coup, je test avec $nbLines1 = $this->MultiCell($widthCol2,$interligne,$phrase,0,'L'); (vous devez me faire confiance pour les variables xD)
    qui me retourne bien 1,2 ou 3. selon le cas, je place mon texte 1 plus ou moins haut pour qu'au final les textes 1 et 2 soient verticalement centres.

    si vous me suivez encore :
    quand le texte fait 3 lignes, je le reduit en arial 9.
    cependant, il arrive (selon les mots) que le texte tienne sur 2 ligne au final, apres reduction.
    => du coup, je me retrouve avec mon texte prevu pour 3 lignes, mais au final, sur 2 et avec la 3eme ligne vide.

    le probleme est que, quand je recupere le nombre de ligne (dans $nbLines1) avec le MultiCell, ca creait la cellule du coup, je ne peux pas tester a nouveau le nombre de ligne avec $nbLines1 = $this->MultiCell($widthCol2,$interligne,$phrase,0,'L'); (pour verifier le nombre de lignes et replacer).

    donc, comment puis-je faire pour modifier une cellule apres qu'elle soit cree (ou alors, comment la supprimer pour la refaire correctement)
    ou alors (et la ce serait tip-top) comment recuperer le nombre de lignes que fera le texte sans que ca crait la cellule

    voila, si quelqu'un a tout lu 10 fois, et a compris mon probleme.... xD

    [edit]alternative : est-il possible de centrer verticalement un texte dans une cellulle sans en connaitre la taille (du texte) ? (pour ne pas me retrouver dans le meme cas)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    J'ai eu ce problème il y a un paquet d'années de ça et j'avais gardé ceci en stock ce qui m'a dépanné.

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    Salut,

    merci d'avoir prit le temps de lire mon probleme.

    j'avais oublie de precise que j'avais deja fait cette modif il y a un moment (ce qui me permet de recuperer le nombre de ligne dans $nbLines1)

    mais cette astuce ne permet pas d'eviter la creation de la cellule :/
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Le hic c'est que ton problème ressemble un peu au problème de hauteur des éléments de taille dynamique d'une page web. L'information n'est disponible qu'une fois le rendu généré...
    Cela doit être faisable de revenir sur une cellule créée dès que tu gardes quelque part ses coordonnées. En bouclant dessus... Après, je sens que tu vas devenir cuisinier d'ici la fin de la journée

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    ouais, on peut comparer ca a : modifier la taille d'un div (genere en php) en JS...

    pour le cuisto, ca va pas le faire xD
    mais sinon, oui, j'ai les coordonnes...

    donc ce serait de forcer une multicell par dessus une deja existante c'est ca ?
    ps:ca attendra lundi...=)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Alors pour moi ton problème a plusieurs problèmes

    (full html / css) => sinon reste une solution faire des images

    Ce que l'on sait :
    La taille des cellules
    Le nombre de caractères
    La police de caractères que l'on conseil

    Ce que l'on sait pas :
    La police de caractères par défaut de l'utilisateur
    La taille des caractères de la police de caractères en général
    Le zoom de l'utilisateur
    Le navigateur et le type de media utilisé

    Ce que l'on voudrait faire :
    Adapter le texte à la zone pour que l'alignement du texte ( et + ?) soit homogène, ou comment aligner verticalement le texte dans une div

    Outils :
    Php,html,css,javascript

    Connaissances :

    Le php est un parseur, il permettra de générer du code selon certaines variables reçues, cela ce passe coté serveur donc
    en aucun cas le script php ne pourra avoir accès aux préférences de l'utilisateur.

    Le html est un standard qui varie selon ses versions, les balises sont interprétées différemment selon les navigateurs

    Le css se comporte(en terme d'évolution et de "changement") comme les versions de html

    Javascript permet d'avoir accès au DOM du document html une fois la page chargée, donc de modifier le html et le css de la page, mais aussi de faire appel à php via ajax ( une bib [framwork] parmis d'autres mais pour moi la meilleure pour ce sujet : jquery et jquery.ui)

    //////////////////////////////////////////////////////////////////////////


    Allez passons à un exemple full css/html, il est temps

    //compatible firefox html5 et d'autres....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <html>
    <head>
    <style>
    .bloc{  width:100px;height:100px; float:left;border :1px solid transparent;margin:3px;background:red;}
    .bloc:hover{ border :1px solid  #a7c3fd;  }
    .bloc table{float:left;}
    .bloc tr{vertical-align:middle;width:100px;height:100px; }
    .bloc tr td {text-align:center;width:100px; }
    </style>
    </head>
     
    <body>
     
    	<div class='bloc'>
    		<table>
    			<tr>
    				<td><p>TEST</p></td>
    			</tr>
    		</table>
     
    	</div>
    	<div class='bloc'>
    		<table>
    			<tr>
    				<td><p>TEST TEST TEST TEST TEST </p></td>
    			</tr>
    		</table>
     
    	</div>	
    </body>

    Note : javais même pas vu que c'est un sujet pour du pdf mais je pense qu'il est possible d'envisager le problème de la même manière quand même
    Conception / Dev

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    tu nous fais quoi la ? un expose sur la creation d'une page web ?

    de plus, tu n'as pas bien lu/compris mon probleme.
    1) je ne sais pas si t'as deja code un pdf, mais il n'existe pas d’attribut vertical-align:middle pour une cellule (ou alors, j'ai vraiment rate quelque chose)
    2) je ne veux pas aligner mon texte verticalement par cellule mais par rapport a la cellule globale
    3) en gros : supprimer une potentielle ligne vide entre 2 textes/cellules
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. [FPDF] FPDF : ligne blanche entre 2 lignes d'une MultiCell sous Firefox
    Par Mikounours dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 02/01/2014, 16h06
  2. [FPDF] bordure d'une multicell sur deux pages et plus en phptopdf
    Par rolan dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 09/08/2010, 15h04
  3. [FPDF] Hauteur d'une multicell
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/03/2007, 13h58
  4. [MX2004] redimensionner une image lors du chargement
    Par ouinouin dans le forum Flash
    Réponses: 8
    Dernier message: 18/02/2004, 18h32
  5. Redimensionner une ToolBar
    Par tscoops dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/11/2003, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo