2016-08-06 68 views

回答

2

這是雙向文本方向支持(bidi),並且在默認情況下尚未在apache poi中實現。但底層對象org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPrBase支持這一點。所以我們必須從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"); 

    doc.write(new FileOutputStream("WordDocument.docx")); 

} 
} 
相關問題