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 :

Affichage de texte en arabe et français : XSL


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Par défaut Affichage de texte en arabe et français : XSL
    Bonjour
    je génère des documents Word avec java en utilisant des feuilles XSL.
    j'ai un petit problème au niveau des textes bilingue (Arabe + Français) la partie en français s'affiche renversée.
    par exemple developpez.com s'affiche de cette façon : moc.zeppoleved

    merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Personnellement, je ne vois déjà pas comment on génère du Word avec XSL.

    Mais même quelqu'un qui saurait ça, ne risque pas de deviner ton code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Par défaut
    je ne peut pas mettre tout le code, mais je peux dire que je récupéré le champs de la base de données avec un Select et je le met dans une variable String ma_var.
    après je crée un nœud dans mon document et j’envoie ma variable de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.appendChild(document.createElement("ma_var")).appendChild(document.createTextNode(ma_var));

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ça ça n'a aucun rapport avec Word ou XSL. Mais en tout cas, ça ne peut pas causer de tort à de l'arabe ou du français qui serait au milieu d'un texte arabe.

    'Faudrait voir les parties concernées du XSL, qu'est-ce que le XSL produit comme résultat XML, et à quoi ressemble le XML source du XML.
    Là où ça coince, c'est qu'un fichier XML qui contient de l'arabe, ça ne s'affiche pas bien dans un visualiseur de source. Il va donc falloir utiliser des outils d'affichage XML, et mettre des fichiers attachés au lieu d'un copier/coller sur le forum.

    Après, 'faudrait voir comment on passe de tout ça à un document Word, et, ma foi, comment Word s'y prend pour gérer un texte gauche-à-droite au milieu d'un texte droite-à-gauche.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Par défaut
    le code niveau du fichier XSL :


    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
     
    <w:tc>
    	<w:tcPr>
    		<w:tcW w:w="5742" w:type="dxa"/>
    		<w:tcBorders>
    			<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/>
    			<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/>
    			<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/>
    			<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="000000"/>
    		</w:tcBorders>
    		<w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/>
    		<w:tcMar>
    			<w:top w:w="100" w:type="dxa"/>
    			<w:left w:w="100" w:type="dxa"/>
    			<w:bottom w:w="100" w:type="dxa"/>
    			<w:right w:w="100" w:type="dxa"/>
    		</w:tcMar>
    	</w:tcPr>
    	<w:p wsp:rsidR="003B5150" wsp:rsidRPr="001857EE" wsp:rsidRDefault="003B5150" wsp:rsidP="00677ECB">
    							<w:pPr>
    			<w:widowControl w:val="off"/>
    			<w:autoSpaceDE w:val="off"/>
    			<w:autoSpaceDN w:val="off"/>
    			<w:bidi/>
    			<w:adjustRightInd w:val="off"/>
    			<w:spacing w:after="0" w:line="240" w:line-rule="auto"/>
    			<w:rPr>
    				<w:rFonts w:ascii="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/>
    				<wx:font wx:val="Times New Roman"/>
    				<w:color w:val="000000"/>
    				<w:sz w:val="20"/>
    				<w:sz-cs w:val="20"/>
    			</w:rPr>
    		</w:pPr>
    		<w:r wsp:rsidRPr="002630AA">
    			<w:rPr>
    				<w:rtl />
    				<w:rFonts w:ascii="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/>
    				<wx:font wx:val="Times New Roman"/>
    				<w:color w:val="000000"/>
    				<w:sz w:val="20"/>
    				<w:sz-cs w:val="20"/>
    				<w:rtl/>
    			</w:rPr>
    			<w:t><xsl:value-of select="ma_var"/></w:t>
    		</w:r>
    	</w:p>
    </w:tc>

    j'ai fais un print au niveau de la console pour voir la variable dans mon fichier XML qui est de type Document et c'est bien écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ma_var>texte en arabe developpez.com texte en arabe</ma_var>

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ok , donc tu fais du docx, et quand tu met du mélange arabe / français dans un balise w:t, la partie française s'écrit de droite à gauche.

    Faudrait voir dans la spec de docx, mais je vois trois possibilités.

    1) que tu sois censé utiliser un w:t pour chaque sens d'écriture séparé
    2) que ce soit ton tag w:rtl qui force une écriture de droite à gauche (rtl = right to left)
    3) que ton texte arabe commence par le caractère unicode forcant le Right to Left => je propose que tout fasse un texte qui contiennent

    RTL arable LTR français RTL arabe


    Aussi, quand tu affiche ton xml "data" dans firefox, par exemple, la ligne apparaît correctement?

Discussions similaires

  1. affichage de text arabe en php
    Par Jcpan dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2010, 11h13
  2. [C#] Affichage de texte vertical...
    Par AntiSAL dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/06/2004, 14h46
  3. Affichage de texte est mise à jour de l'écran
    Par Galdor_sp dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/03/2004, 22h31
  4. [MX 2004] Affichage du texte dynamique
    Par caramel dans le forum Flash
    Réponses: 8
    Dernier message: 29/01/2004, 16h07

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