Text 如何在ApachePOI word中更改文档中的文本方向(而不是段落对齐方式)(XWPF)

Text 如何在ApachePOI word中更改文档中的文本方向(而不是段落对齐方式)(XWPF),text,ms-word,apache-poi,direction,Text,Ms Word,Apache Poi,Direction,我正在尝试使用ApachePOIWord3.8以波斯语/阿拉伯语创建word文档。 我的问题是:如何更改文档中的文本方向?(这意味着更改文字方向,而不仅仅是更改段落文字对齐方式) 在MS Word中,我们可以使用从右到左的文本方向来更改文本方向,并使用右对齐来设置对齐。poi集合属性中的第一个等价物是什么 这是双向文本方向支持(bidi),尚未在apache poi中按默认值实现。但底层对象支持这一点。因此,我们必须从XWPFParagraph中获取这个底层对象 例如: import java.

我正在尝试使用ApachePOIWord3.8以波斯语/阿拉伯语创建word文档。 我的问题是:如何更改文档中的文本方向?(这意味着更改文字方向,而不仅仅是更改段落文字对齐方式)
在MS Word中,我们可以使用从右到左的文本方向来更改文本方向,并使用右对齐来设置对齐。poi集合属性中的第一个等价物是什么

这是双向文本方向支持(bidi),尚未在apache poi中按默认值实现。但底层对象支持这一点。因此,我们必须从
XWPFParagraph
中获取这个底层对象

例如:

import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.*;

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STOnOff;

public class CreateWordRTLParagraph {

 public static void main(String[] args) throws Exception {

  XWPFDocument doc= new XWPFDocument();

  XWPFParagraph paragraph = doc.createParagraph();
  XWPFRun run = paragraph.createRun();
  run.setText("Paragraph 1 LTR");

  paragraph = doc.createParagraph();

  CTP ctp = paragraph.getCTP();
  CTPPr ctppr;
  if ((ctppr = ctp.getPPr()) == null) ctppr = ctp.addNewPPr();
  ctppr.addNewBidi().setVal(STOnOff.ON);

  run = paragraph.createRun();
  run.setText("السلام عليكم");

  paragraph = doc.createParagraph();
  run = paragraph.createRun();
  run.setText("Paragraph 3 LTR");
    
  FileOutputStream out = new FileOutputStream("WordDocument.docx");
  doc.write(out);
  out.close();
  doc.close();    
 }
}