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] Font dans une annotation


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut [iText] Font dans une annotation
    Bonjour à tous.

    J'ai créer un document PDF à partir de la libraire IText. A certains endroits de ce PDF, j'ai ajouté des annotations avec le code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
              com.itextpdf.text.Rectangle annotationLocations = getAnnotationLocations(rect);
              String message = createAnnotationMessageForWebDay(familyRecord);
              PdfAnnotation annotation = PdfAnnotation.createText(writer, annotationLocations, "Enfants du couple", message, false, null);
     
              writer.addAnnotation(annotation);
    Jusqu'a la tout fonctionne correctement.
    Mon annotation est présente dans le document, et lorsque je passe le curseur de ma souris sur l'annotation, un cadre apparait bien avec le test qui va bien.

    La ou j'ai un problème c'est que je voudrais modifier l'aspect du texte (font et size) et la je bloque.
    J'ai essayé cette solution sans succés.

    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
              com.itextpdf.text.Rectangle annotationLocations = getAnnotationLocations(rect);
              String message = createAnnotationMessageForWebDay(familyRecord);
              PdfAnnotation annotation = PdfAnnotation.createText(writer, annotationLocations, "Enfants du couple", message, false, null);
     
              PdfAppearance app = PdfAppearance.createAppearance(writer,(float)rect.getWidth()*12,(float)rect.getHeight());
              try {
                app.setFontAndSize(BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1252, true), (float)6.0);
                app.setColorFill(BaseColor.BLUE);
              } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
              }
     
              annotation.setDefaultAppearanceString(app);
              writer.addAnnotation(annotation);
    Mais sans succés.
    Qui connais la solution ?
    Merci
    Page sur Developpez : http://pbriand.developpez.com

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Par défaut
    Bonjour,

    peut-être quelque chose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    annotation.put(PdfName.FONT,
        BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1252, true));
    Un morceau d'exemple tiré du livre "iText in Action" pour mieux saisir le contexte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    PdfAnnotation annotation = new PdfAnnotation(writer, new Rectangle(
        rect.getRight() + 10, rect.getBottom(),
        rect.getRight() + 30, rect.getTop()));
    annotation.put(PdfName.SUBTYPE, PdfName.TEXT);
    annotation.setTitle("Text annotation");
    annotation.put(PdfName.OPEN, PdfBoolean.PDFFALSE);
    annotation.put(PdfName.CONTENTS,
        new PdfString(String.format("Icon: %s", text)));
    annotation.put(PdfName.NAME, new PdfName(text));
    writer.addAnnotation(annotation);
    (je n'ai pas testé)

    Thierry

  3. #3
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Merci thierry,

    je vais le faire dés que possible. Si c'est Ok, je met ce post en résolu

    A+
    Page sur Developpez : http://pbriand.developpez.com

  4. #4
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour à tous,

    Dommage, cette solution ne fonctionne pas.
    la méthode PdfAnnotation.put nécessite comme premier paramètre une String, et comme deuxième paramètre un PdfObject. A première vue une BaseFont n'est pas un PdfObject.

    Pour info, les différents PdfObjects possibles sont : PdfNull, PdfBoolean, PdfNumber, PdfString, PdfName, PdfArray, PdfDictionary, PdfStream, PdfIndirectReference
    Page sur Developpez : http://pbriand.developpez.com

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 18
    Par défaut
    bonjour à tous, dans le même esprit que ce que vous souhaitez faire,
    j'aimerais ajouter un paramètre à mon annotation, comment puis je faire ?

Discussions similaires

  1. Couleur+Font dans une cellule listIconGadget
    Par fadsys dans le forum PureBasic
    Réponses: 1
    Dernier message: 10/10/2009, 16h50
  2. Un tableau d'annotations dans une annotation
    Par dingoth dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 03/07/2009, 14h34
  3. Taille de fonte dans une css
    Par Ladgalen dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 14/05/2008, 15h20
  4. [VBA-Excel]Changer font dans une textbox
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/10/2006, 14h48
  5. [BDS 2006] Lien et changement de font dans une statusbar
    Par doudoustephane dans le forum C++Builder
    Réponses: 6
    Dernier message: 03/09/2006, 00h12

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