gpt4 book ai didi

java - 如何使用 apache poi 在 docx 中写入混合文本(普通和下标)?

转载 作者:行者123 更新时间:2023-11-29 05:29:32 26 4
gpt4 key购买 nike

我会尽力解释我需要什么。我有一个包含正常大小和下标文本(例如 oxygene O2)的文本,我想使用 apache poi 3.9 库将其写入 docx 文件。我得到所有文本正常大小或下标。有没有办法做到这一点?这是我的代码:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.VerticalAlign;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ApachePOI {
public static void main(String[] args) {
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();

run.setText("Oxygene - O");
run.setSubscript(VerticalAlign.SUBSCRIPT);
run.setText("2");

try {
FileOutputStream fos = new FileOutputStream("test.docx");
document.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

是的,试试这段代码-

import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.VerticalAlign;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ApachePOI {
public static void main(String[] args) {

XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraphOne = document.createParagraph();

paragraphOne.setAlignment(ParagraphAlignment.CENTER);

XWPFRun paragraphOneRunOne = paragraphOne.createRun();
paragraphOneRunOne.setFontSize(25);
paragraphOneRunOne.setBold(true);
paragraphOneRunOne.setText("Oxygene - O");

XWPFRun paragraphOneRunTwo = paragraphOne.createRun();
paragraphOneRunTwo.setFontSize(17);
paragraphOneRunTwo.setBold(true);
paragraphOneRunTwo.setSubscript(VerticalAlign.SUBSCRIPT);
paragraphOneRunTwo.setText("2");

try {
FileOutputStream fos = new FileOutputStream("C://test.docx");
document.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

enter image description here

关于java - 如何使用 apache poi 在 docx 中写入混合文本(普通和下标)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com