iText7解套(三)列表中文中文序号

        iText7列表内置12中列表符号,还可以使用自定义符号或图片作为符号,例如:

iText7解套(三)列表中文中文序号iText7解套(三)列表中文中文序号

         如果需要使用中文数字编号并且自动增长,有两种方法:

        1、插入列表时,对每一项都调用ListItemsetListSymbol方法设置中文编号。如下:

        item.setListSymbol(new Text("一、"));
        ...
        item.setListSymbol(new Text("二、"));

        2、实现IListSymbolFactory

@Override
    public IElement createSymbol(int i, IPropertyContainer iPropertyContainer, IPropertyContainer iPropertyContainer1) {
        return new Text((StringUtils.hasText(this.prefix) ? this.prefix :DEFAULT_PREFIX) +
                        ChineseNumberConverter.convert(i) +
                        (StringUtils.hasText(this.suffix)?this.suffix :DEFAULT_SUFFIX))
                .addStyle(style);
    }

 其中ChineseNumberConverter.convert(i)把序号转换为中文数字,例如:1->一、2->二、3->三等。

prefix和suffix可以为“(”,“)”等,也可空,构造时传入。

使用时,在List上设置。List上没有直接接受IListSymbolFactory类型为参数的setListSymbol方法。使用:

list.setProperty(Property.LIST_SYMBOL, symbolFactory);

效果如下:

iText7解套(三)列表中文中文序号

上一篇:Codeforces Round #745 (Div. 2) B. Diameter of Graph


下一篇:B. Suffix Operations