我正在构造一个8列的行,需要在apache中以单细胞形式创建指数数据(Number),而不需要使用paragraph.break。

发布于 2019-11-04 14:36:20
如果内容(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();
}
}https://stackoverflow.com/questions/58695217
复制相似问题