天天看點

itext添加标題(heading)

标題即是在文檔在大綱裡的目錄分級。

itext 2.7之後才有了該功能。

具體實作方式如下:

com.lowagie.text.rtf.style.RtfParagraphStyle類繼承自RtfFont,RtfFont又繼承自Font。

它為Paragraph提供Style,使用方式和Font一緻。

該常量為RtfParagraphStyle的一個預設實作,表示第一級标題。

我們來看看它的實作:

注意第一個參數"heading 1",這是rtf的json屬性值之一,它生産的json檔案會包括如下部分:

這就是rtf本身的标題定義,了解了這些,我們就能用

來定制三級菜單了。

示例:

如果要生成多級标題呢?要稍微複雜點,假如我們參照 STYLE_HEADING_1 的寫法來自定義一段:

很快我們就會發現,會跑出一個NullPointException

原因在于,所有的RtfParagraphStyle都是被RtfDocumentHeader的RtfStylesheetList裡所維護的

我們需要在RtfStylesheetList裡注冊我們自定義的這個heading_4。

實作方式如下:

完成注冊後,該RtfParagraphStyle就可以正常使用了

對之前的示例代碼進行一點修改:

實作效果如圖所示: