为什么会这样:
lA = new List(List.ORDERED, List.ALPHABETICAL);
lA.setLowercase(List.LOWERCASE);
lA.setPostSymbol(") ");
但这不是:
lQL = new List(List.UNORDERED);
lQL.setListSymbol("=");
lQL.setPostSymbol(" ");
在每个项目前面的第一个例子是“a)”或“b)”或“c)”等... 在第二个例子中,每个项目前面只有“=”。
在任何想法之前,有两件事。首先,我不能这样做:lQL.setListSymbol("= ");
。我可以解释一下,但只要顺其自然,它就更简单了。其次,我尝试将第二个字符串设置为“k”(所以它不仅仅是空格),但输出仍然是“=”......
发生了什么事?
答案 0 :(得分:2)
因为您已明确指出您希望无序列表包含List.UNORDERED
。因此,您不会获得任何订单,因此不会使用帖子符号。
来自setPostSymbol
的文档:
设置必须在数字或字母之后添加的字符串 列表符号。
来自List
的源代码:
137 /**
138 * In case you are using numbered/lettered lists, this String is added after the number/letter.
139 * @since iText 2.1.1
140 */
141 protected String postSymbol = ". ";
此号码或字母只会添加到有序列表中,即List.ORDERED
。如果检查List
的构造函数的第一个参数,您将看到它接收一个布尔值来指示列表是否编号。由于您传递了List.UNORDERED
,其值为false
,因此您将无法获得编号列表,因此,postSymbol
将不会被追加。
答案 1 :(得分:0)
要设置或取消设置数字,字母或项目符号,请使用以下单个代码列表,使用iText pdf out或仅使用列表。
例如,对于没有子弹或字符串的列表或打印帐单中通常需要的编号。
List list = new List(false, false, 50);
list.setListSymbol(" ");
感谢您的提问..