![](/img/trans.png)
[英]Apache-poi Java: How can I change the font name and size of a list numbering in a WORD document?
[英]How do I set the font & font-size of the numbering in a XWPFDocument (apache poi)?
當前正在創建這樣的編號:
CTAbstractNum cTAbstractNum = CTAbstractNum.Factory.newInstance();
cTAbstractNum.setAbstractNumId(BigInteger.valueOf(0));
CTLvl cTLvl = cTAbstractNum.addNewLvl();
cTLvl.addNewNumFmt().setVal(STNumberFormat.DECIMAL);
cTLvl.addNewLvlText().setVal("%1.");
cTLvl.addNewStart().setVal(BigInteger.valueOf(1));
XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum);
XWPFNumbering numbering = document.createNumbering();
BigInteger abstractNumID = numbering.addAbstractNum(abstractNum);
BigInteger numID = numbering.addNum(abstractNumID);
XWPFParagraph tmpParagraph = document.createParagraph();
tmpParagraph.setPageBreak(true);
tmpParagraph.setNumID(numID);
由於段落的編號正確,因此效果很好,但是我迷失了尋找改變數字大小的方法。
最終,我可以通過組合使用谷歌搜索和反向工程/對我工作過的內容進行區分來解決此問題。
這是將數字字體大小設置為18的“ a”解決方案:
private String getNumberingXMLString(int fontSize) {
return "<w:abstractNum xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" w:abstractNumId=\"0\">"
+ "<w:multiLevelType w:val=\"hybridMultilevel\"/>"
+ "<w:lvl w:ilvl=\"0\"><w:start w:val=\"1\"/><w:numFmt w:val=\"decimal\"/><w:lvlText w:val=\"%1.\"/><w:lvlJc w:val=\"left\"/>"
+ "<w:pPr><w:ind w:left=\"720\" w:hanging=\"360\"/></w:pPr><w:rPr><w:sz w:val=\"" + fontSize*2 +"\"/><w:szCs w:val=\""+fontSize*2 +"\"/></w:rPr></w:lvl>"
+ "</w:abstractNum>";
}
...
...
...
CTNumbering cTNumbering = CTNumbering.Factory.parse(getNumberingXMLString(18));
CTAbstractNum cTAbstractNum = cTNumbering.getAbstractNumArray(0);
XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum);
XWPFNumbering numbering = document.createNumbering();
BigInteger abstractNumID = numbering.addAbstractNum(abstractNum);
numID = numbering.addNum(abstractNumID);
如果我正確理解了這一點,也可以使用以下方法解決
cTLvl.getRPr().addNewSz().setVal(...);
cTLvl.getRPr().addNewSzCs().setVal(...);
在我在問題中提供的代碼中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.