[POI] Orientation du texte de droite à gauche (RTL) dans un document XWPF
Bonjour,
J'ai un problème avec XWPFDocument : j'ai créé un document Word avec l'API Apache POI et je voudrais définir la direction de texte de droite a gauche (Right to Left (RTL)) car le contenu de document est en Arabe , mais je n'ai pas trouvé la méthode pour.
Merci d'avance pour votre aide.
1 pièce(s) jointe(s)
Troubles avec l'orientation du texte dans un document XWPFDocument
Bonjour Joel, Merci pour cet intéressant code, j'avais le même problème que miina mais maintenant avec votre réponse, je l'ai fixé ! Mais malgré ça, je rencontre d'énorme troubles à cause de cette orientation et des caractères qui sont en arabe, par exemple pour ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| XWPFParagraph tmpParagraph8 = docx.createParagraph();
XWPFRun tmpRun8 = tmpParagraph8.createRun();
tmpRun8.setText("..........:وزارة الداخلية الرقم الترتيبي للقائمة 1 ");
tmpRun8.setFontSize(11);
tmpRun8.setFontFamily("Calibri (Corps)");
tmpParagraph8.setAlignment(ParagraphAlignment.LEFT);
tmpRun8.setBold(true);
tmpParagraph8.setSpacingAfter(100);
setOrientation(tmpParagraph8, TextOrientation.RTL);
XWPFParagraph tmpParagraph7 = docx.createParagraph();
XWPFRun tmpRun7 = tmpParagraph7.createRun();
tmpRun7.setText(": الاسم الشخصي : الاسم العائلي");
tmpRun7.setFontSize(11);
tmpRun7.setFontFamily("Calibri (Corps)");
tmpParagraph7.setAlignment(ParagraphAlignment.RIGHT);
//tmpRun7.setBold(true);
tmpParagraph7.setSpacingAfter(100);
setOrientation(tmpParagraph7, TextOrientation.RTL); |
Mais dans le résultat je n'obtient pas les paragraphes dans le même ordre saisie dans le code
Pièce jointe 165659
et ce n'est pas tout ! pour le moment je ne fais que essayer de saisir des paragraphes arabes, mais tout de suite je commencerai à insérer des informations depuis la base de données, et pour le CIN par exemple j'aurais quelque chose de ce type ( J4569 : البطاقة الشخصية ) et dans ce cas je sais pas si j'allais réussir à concaténer des lettres arabes et francais ou non !
si vous en avez une idée je serais très reconnaissante
2 pièce(s) jointe(s)
aligner deux textes côte à côte
Bonjour,
J'aimerais savoir s'il est possible de mettre de texte côte à côte ? je sais pas si l'api apache poi le permet ??? je veux avoir comme c'est figuré dans l'image1
Pièce jointe 165935
j'ai essayé de le faire autrement manuellement en ajoutant seulement des espaces après chaque texte , mais le résultat n'a pas été satisfaisant, car les lignes du deuxième paragraphe ne sont pas alignées! voici le code et le résultat en image ci-dessous
Code:
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
| XWPFParagraph tmpParagraph3 = docx.createParagraph();
XWPFRun tmpRun6 = tmpParagraph3.createRun();
tmpRun6.setText(" 1"+rs1.getString("tem1"));
tmpRun6.setText(" 7 "+rs1.getString("tem7"));
//tmpRun6.setTextPosition(100);
tmpRun6.addBreak();
tmpRun6.setText(" 2"+rs1.getString("tem2"));
tmpRun6.setText(" 8 "+rs1.getString("tem8"));
tmpRun6.addBreak();
tmpRun6.setText(" 3"+rs1.getString("tem3"));
tmpRun6.setText(" 9 "+rs1.getString("tem9"));
tmpRun6.addBreak();
tmpRun6.setText(" 4"+rs1.getString("tem4"));
tmpRun6.setText(" 10 "+rs1.getString("tem10"));
tmpRun6.addBreak();
tmpRun6.setText(" 5"+rs1.getString("tem5"));
tmpRun6.setText(" 11 "+rs1.getString("tem11"));
tmpRun6.addBreak();
tmpRun6.setText(" 6"+rs1.getString("tem6"));
tmpRun6.setText(" 12 "+rs1.getString("tem12"));
tmpRun6.addBreak();
tmpRun6.setFontFamily("Calibri (Corps)");
tmpRun6.setFontSize(13);
tmpParagraph3.setAlignment(ParagraphAlignment.LEFT);
//tmpParagraph2.setSpacingAfter(300);
setOrientation(tmpParagraph3, TextOrientation.RTL); |
Pièce jointe 165936
y'a t'il un moyen pourront m'en faire sortir ?!