【发布时间】:2019-03-02 11:17:20
【问题描述】:
我有一个 DocxDocument 类,它有一个静态 ObjectFactory 对象、静态 WordprocessingMLPackage 对象和一个 MainDocumentPart 对象。理想情况下,您会使用这种方法,例如 addTextWithFont("Arial", "Hello")
我正在尝试创建一个方法,该方法使用您将其作为参数传递的字体添加一个段落。我相信我需要将带有 PhysicalFont 的 RFonts 对象添加到 Rpr,但它不起作用。
public void addTextWithFont(String fontName, String text) {
PhysicalFont font = PhysicalFonts.get(fontName);
RFonts fonts = factory.createRFonts();
fonts.setAscii(fontName);
// This is the object we will add
P p = factory.createP();
// Create object for first run and add it to the P object
R run = factory.createR();
p.getContent().add(run);
// Create rpr object
RPr rpr = factory.createRPr();
rpr.setRFonts(fonts);
run.setRPr(rpr);
// Create text object
Text t = factory.createText();
t.setValue(text);
run.getContent().add(t);
this.mainDocumentPart.addObject(p);
谢谢
【问题讨论】: