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

Format d'échange (XML, JSON...) Java Discussion :

[iText][XML] Police non reconnue


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé

    Profil pro
    Laveur
    Inscrit en
    Avril 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Laveur

    Informations forums :
    Inscription : Avril 2004
    Messages : 142
    Par défaut [iText][XML] Police non reconnue
    Bonjour

    J'utilise sur Tomcat, iText pour me générer du PDF. Jusque là tout va bien. Or je me suis aperçu qu'une seule police (arial) est reconnu et tout par exemple, dans le tagmap est ignoré.

    Ici mon fichier xml :
    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
     
    <?xml version="1.0"?>
    <DOCUMENT>
      <table width="100.0%" columns="1" align="left">
          <row>
              <cell_standard horizontalalign="left" red="80">
                  <TITLE>Demande de Virement - FRAIS</TITLE>
              </cell_standard>
          </row>
          <row>
              <cell_standard horizontalalign="=left">
                  <TITLE2>PB France</TITLE2>
              </cell_standard>
          </row>
      </table>
    </DOCUMENT>
    la mon tagmap :

    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
     
    <tagmap>
        <tag name="itext" alias="DOCUMENT" />
        <tag name="newpage" alias="NEWPAGE" />
        <tag name="newline" alias="NEWLINE" />
        <tag name="paragraph" alias="TITLE">
            <attribute name="size" value="18" />
            <attribute name="leading" value="18" />
            <attribute name="align" value="Center" />
            <attribute name="font" value="arial" />
            <attribute name="color" value="#FF0000" />
        </tag>
        <tag name="paragraph" alias="TITLE2">
            <attribute name="size" value="10" />
            <attribute name="leading" value="18" />
            <attribute name="align" value="Center" />
            <attribute name="font" value="courier" />
        </tag>
    </tagmap>
    Quelqu'un peut il me guider ? Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    Salut,

    il faut que tu importes ta police de caractères. Exemple : /monappli/font/courrier.ttf

    Ensuite tu l'utilises de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Font courrierFont = new Font(BaseFont.createFont(
                                        <chemin de ta police>,
                                        BaseFont.WINANSI, BaseFont.EMBEDDED), <taille>,
                                        <formatage divers)
    En ce qui concerne la reconnaissance dynamique, il faudrait que ton application possèdent les polices principales. Tu peux utiliser un fichier XML pour référencer chacun de tes polices + chemin du fichier.

    Dans ton code java lors du parsing de ton fichier XML, tu fais la correspondance de la police trouvée avec la liste définie précédemment puis tu la sauves dans une table genre HashMap (pratique si le doc utilise plusieurs fois la même police, tu ne la charge qu'une seule fois)

    J'espère avoir été clair ...

  3. #3
    Membre confirmé

    Profil pro
    Laveur
    Inscrit en
    Avril 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Laveur

    Informations forums :
    Inscription : Avril 2004
    Messages : 142
    Par défaut
    Deja merci de t'etre penché sur le problème.
    Tu pourrais me donner un exemple ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    exemple sur quoi ? le fichier xml ? Si oui

    tu développes ton propre format genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml ....?>
    <fonts>
      <font name="courrier" path="/font/courrier.ttf"/> <!-- chemin relatif, tu peux aussi mettre le chemin absolu -->
      <font name="verdana" path="/font/verdana"/>
      ...
    </fonts>
    Ensuite tu développes un parseur SAX (voir tutoriel de Sébastien Meric pour celà). Tu configures ce parseur pour qu'il te génère une liste de BaseFont indéxée sur le nom (utiliser une HashMap).

    Puis vient le parsing de ton fichier XML document. Lorsque tu rencontres une police, tu recherches dans ta liste si elle existe. si elle n'existe pas, tu balances une trace et tu charge la police par défaut à la place (enfin c'est une façon de faire, si tu préfères stopper le parsing, c'est toi qui vois).

    Si tu veux faire simple tu peux déclarer tes polices dans un fichier de propriétés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    font.courrier.name=courrier
    font.courrier.path=/font/courrier.ttf
    ...
    mais ce sera moins flexible car celà t'obligera à récupérer ces infos en dur depuis un code Java.

    J'espère t'avoir été utile.

  5. #5
    Membre confirmé

    Profil pro
    Laveur
    Inscrit en
    Avril 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Laveur

    Informations forums :
    Inscription : Avril 2004
    Messages : 142
    Par défaut
    Merci enormément !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/07/2009, 10h31
  2. [Web.xml] Balise taglib non reconnue
    Par Mister Nono dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/07/2007, 16h33
  3. Police non reconnue
    Par mateuil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/06/2007, 00h21
  4. Pb de police non reconnue
    Par greg_one dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/11/2005, 20h27

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