Если содержание (2)
должно быть верхним, то есть две возможности использования Microsoft Word
. Либо действительно выровняйте верхний индекс, либо установите положение текста вдали от базовой строки текста. Для обоих (2)
должен быть в своем собственном текстовом прогоне.
Выравнивание надстрочного индекса может быть достигнуто с помощью XWPFRun.setSubscript , имеющего VerticalAlign .SUPERSCRIPT
.
Положение текста можно задать с помощью XWPFRun.setTextPosition , где int val
- это половина единицы измерения.
Пример:
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
public class CreateWordSuperScript {
public static void main(String[] args) throws Exception {
XWPFDocument document= new XWPFDocument();
XWPFParagraph paragraph;
XWPFRun run;
paragraph = document.createParagraph();
run = paragraph.createRun();
run.setText("6 ");
run=paragraph.createRun();
run.setText("(2)");
run.setSubscript(VerticalAlign.SUPERSCRIPT); // superscript (2)
paragraph = document.createParagraph();
run=paragraph.createRun();
run.setText("6 ");
run=paragraph.createRun();
run.setText("(2)");
run.setTextPosition(11); // (2) position = baseline + 11 half pt ~ 5.5 pt
FileOutputStream out = new FileOutputStream("word.docx");
document.write(out);
out.close();
document.close();
}
}