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

Java Discussion :

Problème avec rtftemplate


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 174
    Par défaut Problème avec rtftemplate
    Bonjour,
    J'ai trouvé un moyen d'écrire facilement dans des documents au format rtf (format compatible avec word) mais j'ai un problème. voici mon code:

    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
    import java.io.File;
    import java.io.FileNotFoundException;
     
    import net.sourceforge.rtf.RTFTemplate;
    import net.sourceforge.rtf.UnsupportedRTFTemplate;
    import net.sourceforge.rtf.helper.RTFTemplateBuilder;
     
     
    public class test {
     
    	public static void main(String[] args) {
    		RTFTemplateBuilder builder = RTFTemplateBuilder.newRTFTemplateBuilder();
    		try 
    		{
    			RTFTemplate rtfTemplate = builder.newRTFTemplate();
    			try 
    			{
    				rtfTemplate.setTemplate(new File("test.rtf"));
    				rtfTemplate.put("AFT_PN", "456");
    				try 
    				{
    					rtfTemplate.merge("test-2.rtf");
    				} 
    				catch (Exception e) 
    				{
    					e.printStackTrace();
    				}
    			} 
    			catch (FileNotFoundException e) 
    			{
    				e.printStackTrace();
    			}
    		} 
    		catch (UnsupportedRTFTemplate e) 
    		{
    			e.printStackTrace();
    		}
    	}
     
    }
    test.rtf est le fichier de référence et je souhaite écrire dans un champs {MERGEFIELD AFT_PN \*MERGEFORMAT}, dont le nom est donc AFT_PN apparament, la valeur 456 (en string par exemple). Avec ce code j'ai toujours un champs vide en sortie dans test-2.rtf.

    A cette adresse ils ont l'air de dire qu'il faut faire une configuration et qu'il faut un fichier XML a coté sur lequel se base l'API: http://rtftemplate.sourceforge.net/f...tion-java.html
    Cependant, je ne comprends pas le fonctionnement de l'API, comment la configurer et quoi faire dans mon cas.

    Pouvez vous m'aider svp?

  2. #2
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour,

    J'ai cree RTFTemplate il y a deja plusieurs annees et je suis aujourd'hui sur d'autres projets (moteur CSS de Eclipse E4...) et du coup j'ai laisse de coté RTFTemplate.

    Il faut effectivement un fichier de conf XML fields available qui peut etre genere. As tu regarde les examples de RTFTemplate?

    J'ai tout detaille pas a pas sur le site RTFTemplate. C'est long a lire mais j'ai tout explique.

    Bon courage

    Angelo

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Par défaut
    Bonjour,

    Je ré-ouvre ce sujet car j'utilise votre librairie Angelo.
    J'ai bien regardé les exemples fournis ainsi que les doc mais je n'arrive pas à faire fonctionner les boucles dans un tableau, même en reprenant directement l'exemple de base (celui avec la classe Developper)

    J'ai bien crée mon tableau dans mon modèle RTF Sample.rtf

    $header_developer_name |$header_developer_email | header_developer_roles
    $developers.Name | $developers.Email | developers.Roles.Name,

    Avec dans mon code java :
    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
     
    			rtfTemplate.put("header_developer_name", "Name");
    			rtfTemplate.put("header_developer_email", "Email");
    			rtfTemplate.put("header_developer_roles", "Roles");
     
    			List <Developer> developers = new ArrayList<Developer>();
    			Developer developer = new Developer("toto", "toto@xxxx.com");
    			developer.addRole("Java Developer");
    			developer.addRole("Release Manager");
    			developers.add(developer); 
     
    			developer = new Developer("Felix", "jean@xxx.com");
    			developer.addRole("Java Developer");
    			developers.add(developer);  
     
    			rtfTemplate.put("developers", developers);
    Les headers sont bien remplacés mais pas les valeurs.
    J'ai essayé de rajouter un fichier test.fields.xml (j'utilise le fichier jakarta-velocity.fields.xml fourni) que j'ai plaçé dans le même package que mon code source.

    Malheureusement je n'obtient jamais la liste des noms/email de mes 2 developpeurs...il n'y a ni lecture des valeurs, ni itération sur le nombre de lignes.
    Si quelqu'un a une idée, ça serait sympa.

    Merci.

  4. #4
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour miragul,

    Comme je l'ai deja dit j'ai abandonné RTFTemplate. Je ne pourrais pas t'aider plus.

    Par contre nous (nous sommes 2) avons créé le projet XDocReport sur lequel je travaille aujourd'hui dessus qui fait la même chose excepté que en entrée ca n'est pas du RTF mais du docx ou odt. Il est possible de convertir le docx genere en pdf ou html et le odt genere en pdf, html.

    Si ca t'intéresse, j'ai mis plein d'infos sur XDocReport sur ce post.

    Angelo

Discussions similaires

  1. Problème avec RTFTemplate
    Par amine1980 dans le forum Documents
    Réponses: 0
    Dernier message: 21/12/2011, 18h14
  2. Problème avec RTFTemplate
    Par amine1980 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 21/12/2011, 10h52
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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