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 :

[PDF] Probleme de longueur sur les cellules Date FR dans PDF


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut [PDF] Probleme de longueur sur les cellules Date FR dans PDF
    Bonjour,

    Sur une application Hors ligne en PHP, j'utilise l'exportation en PDF, j'utilisais Acrobat Pro pour délimité mes champs a complété avec un formulaire en PHP, mais j'ai rencontré un problème de taille (dans les deux sens), le fait de délimité les zone a saisir me posais problème sur la longueur des champs, si par exemple, le nom contenais 5 caractères il y avais un probleme d'espace entre le nom et le prénom, si en revanche je mettais un nom de 15 caractères, celui ci mordais sur mon prénom.

    Apres avoir discuter avec pas des personnes de PHP, il me dit de prendre FPDF qui n'a pas se problème, hors sous FPDF il faut aussi délimité les champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->Cell(30,10, $_POST["nom"],0,0);

    Ceci me pose de gros probleme pour la mise en page de mes fiches etant donné que celles ci sont pour mes clients.

    Ne connaissant pas FPDF je demande votre aide a savoir comment ne pas délimité un champ?

    En espérant avoir été clair je vous remercie de votre aide

    Cordialement

    EDITION:
    Pour plus de clarté voici une petite capture :

    Exemple avec un nom moyen
    Avec comme nom : mon nom
    Avec comme prenom: mon prenom


    Exemple avec un nom long
    Avec comme nom : mon nomnom
    Avec comme prenom: mon prenomprenom







    Le problème concernant la longueur est résolu merci à LoveAngel

    ========================================================


    Je me permet de posté un autre petit souci au niveau des dates en Francais :

    J'ai une fonction que j'appelle comme cela '.dateFR($data['date']).' pour mettre la date au format standard français (JJ/MM/AAA) comment l'inclure dans le pdf ?
    J'essaye comme je le fait avec un fichier php mais la rien ne fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this -> Write( 10, $_POST[ '.dateFR($data['date']).' ] . '   A : ' . $_POST[ 'heure' ] );
    Merci

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,
    Je ne comprends pas bien cette histoire de délimiter des champs... Tu veux en fait pouvoir ne pas donner de taille à une Cell ? Je crois que ce n'est pas possible directement avec Cell, par contre, tu peux essayer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this -> Write( 10, $_POST[ 'nom' ] . ' ' . $_POST[ 'prenom' ] );
    Tu écrit le nom et le prénom d'un seul coup.
    Sinon, si tu as une zone précise pour écrire le nom et le prénom, tu t'expose toujours au risque d'une personne avec un nom trop long qui dépassera nécessairement, tu ne pourra pas faire grand chose... Mais avec le Write, si tu n'a pas de séparation nom - prénom prédéfinie, ça devrais l'faire.

    Bonne journée.
    LoveAngel :: Meow( );
    Personne ne remarque ce qui marche trop bien. Procrastination, Terry Pratchett

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Pas facile à expliquer en effet mais apparemment tu ma compris, j'essaye ta méthode et te dit si cela fonctionne

    Je te remerci

    J'ai ajouté une capture de deux cas différents pour plus de compréhension.

    Yeah ça fonctionne merci beaucoup tu me sauve la

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Je me permet de posté un autre petit souci au niveau des dates en Francais :

    J'ai une fonction que j'appelle comme cela '.dateFR($data['date']).' pour mettre la date au format standard français (JJ/MM/AAA) comment l'inclure dans le pdf ?
    J'essaye comme je le fait avec un fichier php mais la rien ne fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this -> Write( 10, $_POST[ '.dateFR($data['date']).' ] . '   A : ' . $_POST[ 'heure' ] );
    Merci

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi tu mets un $_POST autour de ta fonction ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Erreur de ma part je ne met pas de post mais j'ai toujours le même problème, je doit mi prendre comme un pied :
    .dateFR($data['date']).

  7. #7
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonsoir,

    C'est quoi cette fonction dateFR ? Elle prends quoi comme paramètre ?
    La solution maison que j'emploie pour ne pas avoir de soucis et pouvoir manipuler mes dates sans encombres est le timestamp UNIX, stocké dans la base de donnée sous forme d'un entier ( integer ou unsigned integer ). Ensuite, tu peux te servir des fonctions de PHP pour transformer tes dates à ton envie, notamment la fonction date, qui prends comme second paramètre un timestamp. J'ai depuis longtemps oublié les champs date et datetime de SQL, trop lourds à gérer niveau syntaxe à mon goût. Mais tout cela de s'applique que si tu te sert d'une base de donnée...

    Sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this -> Write( 10,  dateFR($_POST['date']) . ' A ' . $_POST[ 'heure' ] );
    Mieux, non ? Parce que ton $data, je ne sais pas d'où il est apparu

    Bonne nuit.
    LoveAngel :: Meow( );
    Personne ne remarque ce qui marche trop bien. Procrastination, Terry Pratchett

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Salut LoveAngel,

    Je vient d'essayer au petit matin ta solution mais celle ci ne fonctionne pas.

    Pour plus d'information concernant ma date, mon fichier fonction date est comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    function dateFR($date)
    {
      $date = explode('-', $date);
      $date = array_reverse($date);
      $date = implode('/', $date);
      return $date;
    }
    ?>
    Je l'appel comme ça dans mes fichiers :
    Le data ou le row dépend des situation en faite pour l'instant je doit nettoyé mon code maintenant (c'est ma première appli en php).

    Donc grâce à elle cela transforme mon champ date de ma base :
    2009/05/28 en 28/05/2009


    Merci à toi

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et donc quel est ton problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Impossible de mettre cette date dans le format FR => DD/MM/AAAA

    Voila

    Merci

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu obtiens actuellement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    La date au format YYYY/M/DD
    J'essaye d'appeler ma fonction date mais cela ne fonctionne pas

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu pourrais nous montrer ton code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Aucun souci je te remerci de vouloir m'aider :

    - Ma Fonction date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    function dateFR($date)
    {
    $date = explode('-', $date);
    $date = array_reverse($date);
    $date = implode('/', $date);
    return $date;
    }
    ?>
    Je l'appel comme cela :
    Mon PDF (avec date à l'américaine) :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    <?php
    define('FPDF_FONTPATH','pdf/font/');
    require('pdf/fpdf.php');
    require_once('pdf/fpdi.php');
    require('fonctions_dates.php');
     
     
    class PDF extends FPDI {
    /**
    * "Remembers" the template id of the imported page
    */
    var $_tplIdx;
     
    /**
    * include a background template for every page
    */
    function Header() {
    if (is_null($this->_tplIdx)) {
    $this->setSourceFile('pdf/FI.pdf');
    $this->_tplIdx = $this->importPage(1);
    }
    $this->useTemplate($this->_tplIdx);
     
    $this->SetFont('Arial', 'B', 9);
    $this->Cell(84);
    $this-> Write( 114, $_POST[ 'titre' ] . ' ' . $_POST[ 'nom' ] . ' ' . $_POST[ 'prenom' ] );
    $this->Ln(6);
    $this->Cell(84);
    $this->Write(114,$_POST["rue"]);
    $this->Ln(6);
    $this->Cell(84);
    $this -> Write(114, $_POST[ 'cpost' ] . ' ' . $_POST[ 'ville' ] );
    $this->Ln(12);
    $this->Cell(85);
    $this -> Write( 145, dateFR($_POST['date']) . ' ' . $_POST[ 'heure' ] );
    $this->Cell(8);
    $this->Write(200,$_POST["inter"]);
    }
     
    function Footer() {}
    }
     
    // initiate PDF
    $pdf = new PDF();
    $pdf->SetAutoPageBreak(true, 40);
     
    // add a page
    $pdf->AddPage();
     
    // get esternal file content
     
    $pdf->SetFont("Arial", "", 12);
    // now write some text above the imported page
     
    $pdf->Output('FI.pdf', 'D');
     
    ?>
    J'ai aussi posté un message sur le forum de FPDF ici


    Merci à toi car la je bloque littéralement, tous fonctionne tres bien avec cette fonction sauf ce foutu pdf .

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais ça pour controler :
    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
    <?php
    define('FPDF_FONTPATH','pdf/font/');
    require('pdf/fpdf.php');
    require_once('pdf/fpdi.php');
    require('fonctions_dates.php');
     
    echo 'POST :';
    var_dump($_POST['date']);
    echo '<br/>';
     
    echo 'dateFR :';
    var_dump(dateFR($_POST['date']));
    echo '<br/>';
     
    die();
     
    // suite de ton code
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Merci sabotage,
    Désolé je n'etais pas la de la journée, voila ce que cela me sort après modifs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    POST :string(0) ""
    dateFR :string(0) ""
    Le grand flou pour moi encore

    Merci à toi

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton champ de formulaire "date" ne contient rien ; il n'y a rien ni avant ni apres la conversion.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    J'avais enlever les dates désolé :

    Sans touché cela donne ca :

    POST :string(10) "2009/06/11"
    dateFR :string(10) "2009/06/11"

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta fonction dateFR prend en entrée une date au format YYYY-MM-AA
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Tout a fait et moi j'ai fait une fonction qui me la met :
    JJ-MM-AAAA

    mais sur le pdf je n'arrive pas faire appel a elle

    Merci a toi

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/02/2015, 12h02
  2. Réponses: 9
    Dernier message: 03/06/2009, 14h36
  3. Réponses: 3
    Dernier message: 23/05/2007, 14h14
  4. [Dates] Question sur les fonctions Date
    Par cerede2000 dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2006, 17h26
  5. Probleme de transparance sur les sprites
    Par drcd dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/05/2006, 20h31

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