我用希伯来语在Java中创建docx文件。我在此文件中从右到左定义文字。我有个问题: 当我写非希伯来字母的其他字符时,它们是从左到右写在我创建的docx文件中的。 我正在寻找一种解决方案,无论书写字符(希伯来字母或其他字符)如何,始终保持从右到左的书写连续性
我的代码非常简化是:
String[] lines = { "שלו_ _רוך א_ד ש_יים", "של_ש אר_ע" };
File fichier = new File("C:\\Users\\David\\Documents\\מבחנים" + "\\הסתרה" + ".docx");
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(fichier);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
XWPFDocument doc = new XWPFDocument();
XWPFRun run;
XWPFParagraph par;
par = doc.createParagraph();
par.setAlignment(ParagraphAlignment.LEFT);
par.setSpacingBefore(0);
par.setSpacingAfter(350);
CTP ctp = par.getCTP();
CTPPr ctppr = ctp.getPPr();
if (ctppr == null) {
ctppr = ctp.addNewPPr();
}
ctppr.addNewBidi().setVal(STOnOff.ON);
run = par.createRun();
run.setFontSize(16);
for (String line : lines) {
for (String word : line.split("\\s+")) {
run.setText(word);
run.setText(" ");
}
run.addCarriageReturn();
}
try {
doc.write(outStream);
outStream.close();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
将此扔到桌子上。
您可能要研究Bidirectional Text,因为Java文档包含的详细信息比我在此答案中所能提供的要多。
Microsoft还提供了有关Bidirectional Text的文档,可以帮助您实施,并且还提供了希伯来语示例。
如果您能够在简单的独立JComponent中开发概念证明,则可以在Microsoft中进行相同的操作。