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

Documents Java Discussion :

[iText] pied de page sur plusieurs lignes


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut [iText] pied de page sur plusieurs lignes
    bonjour j'essaie d'ajouter un footer à un document pdf en utilisant iText, le probleme est que je n'arrive pas à mettre plus d'une seule lignes alors que j'en doit mettre 3 avec des fontes diff pour chaqune.

    on dirait que le saut de ligne n'est pas possible avec le HeaderFoote!! bizzard.j'ai essayéaussi en utilisant des Chunck dans des phrases dans des paragrahes et rien.

    Merci de m'eclairer.

  2. #2
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Bonjour,

    L'utilisation du header ou footer sous iText impose une juste valeur des marges haute et basse, ainsi qu'un espace suffisment grand pour inclure le header/footer voulu, sinon le text se superpose ou diparaît (pas de saut de page généré).

    En gros, tu dois assurer la gestion des header/footer. Faut pas oubier que iText est une API de bas niveau, juste au dessus du language PDF... alors il demande quelques classes de gestion...

    Tu fais comment pour mettre tes header/footer (question classique) ?

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    voici mon code: il es vrai que rien ne s'affiche si je met + d'une seule ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PdfContentByte cb = writer.getDirectContent();
     
     Chunk c1 = new Chunk("phrase1",FontFactory.getFont(FontFactory.COURIER, 8, Font.NORMAL, Color.BLUE));
     
    Chunk c2 = new Chunk("phrase 2 ",FontFactory.getFont(FontFactory.COURIER, 7, Font.NORMAL, Color.BLACK));
     
    Chunk c3 = new Chunk("phrase3",FontFactory.getFont(FontFactory.COURIER, 7, Font.NORMAL, Color.BLACK));
     
    Phrase p=new Phrase(c1+ " \n");
    p.add(c2+ " \n");
    p.add(c3);
     
    para.setAlignment(Element.ALIGN_CENTER);
    ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, p, (document.right()- document.left())/2+document.leftMargin(), document.bottom() - 10, 0);

  4. #4
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Phrase p=new Phrase(c1+ " \n");
    essaye plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Phrase p=new Phrase(c1+Chunk.NEWLINE);
    et augmente monte ta marge basse pour voir si les lignes sont pas cachées:
    ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, p, (document.right()- document.left())/2+document.leftMargin(), document.bottom() - 10, 0);
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... document.bottom() - 50, 0);

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    voici les modifs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Phrase p=new Phrase(c1+""+Chunk.NEWLINE);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, p, (document.right()- document.left())/2+document.leftMargin(), document.bottom() + 20+document.bottomMargin(), 0);
    ce dernier fait bien remonter le pied de page, par contre y'a toujours que la premiere ligne et les fontes appliquées sur le Chunk ne sont pas prises en compte.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut
    Bonjour,

    D'après la documentation de l'api, la méthode showTextAligned() n'affiche que la première ligne :

    showTextAligned
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static void showTextAligned(PdfContentByte canvas,
                                       int alignment,
                                       Phrase phrase,
                                       float x,
                                       float y,
                                       float rotation,
                                       int runDirection,
                                       int arabicOptions)
    Shows a line of text. Only the first line is written.

Discussions similaires

  1. [VI-2013] Modifier un pied de page sur plusieurs documents
    Par illidan05 dans le forum Visio
    Réponses: 0
    Dernier message: 27/05/2014, 15h09
  2. [LATEX] Combiner Tableaux sur plusieurs pages et colonnes sur plusieurs lignes
    Par audera dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 04/02/2010, 23h46
  3. Réponses: 2
    Dernier message: 10/05/2004, 07h55
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

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