我使用doc.createTOC();
生成poi字(XWPF)中的內容表,並使用addCustomHeadingStyle(doc, ChapterLvl.LVL_1.style, 1);
生成標題內容,點線和頁碼。但我想設置不同的標題級別的標題內容具有不同的字體大小,字體顏色,粗體,虛線和頁碼與其相應的標題內容具有相同的樣式,如圖片附件,有人可以給我一些建議如何做到這一點?如何設置內容的字體樣式表,包括字體顏色,字體大小和粗體字?
private static void addCustomHeadingStyle(XWPFDocument docxDocument, String strStyleId, int headingLevel) {
CTStyle ctStyle = CTStyle.Factory.newInstance();
ctStyle.setStyleId(strStyleId);
CTString styleName = CTString.Factory.newInstance();
styleName.setVal(strStyleId);
ctStyle.setName(styleName);
CTDecimalNumber indentNumber = CTDecimalNumber.Factory.newInstance();
indentNumber.setVal(BigInteger.valueOf(headingLevel));
ctStyle.setUiPriority(indentNumber);
CTOnOff onoffnull = CTOnOff.Factory.newInstance();
ctStyle.setUnhideWhenUsed(onoffnull);
ctStyle.setQFormat(onoffnull);
CTPPr ppr = CTPPr.Factory.newInstance();
ppr.setOutlineLvl(indentNumber);
ctStyle.setPPr(ppr);
XWPFStyle style = new XWPFStyle(ctStyle);
XWPFStyles styles = docxDocument.createStyles();
style.setType(STStyleType.PARAGRAPH);
styles.addStyle(style);
}
'document.createTOC(); XWPFParagraph paragraph = document.createParagraph(); CTSimpleField toc = paragraph.getCTP()。addNewFldSimple(); toc.setInstr(「TOC \\ * MERGEFORMAT」); toc.setDirty(STOnOff.TRUE); createParagraphs(document,numID,「... content ...」);' 非常感謝!你的答案是我想要的。您無法使用XWPFDocument.createTOC()獲得有價值的結果,因爲您在內容創建之後創建TOC,這會導致toc頁面號碼變得更大,因此書籤不會生成鏈接。如果您在內容之前創建了toc,那就沒問題了。如上所示的代碼。 – Sucy