Itext7 - 使用复选标记

时间:2017-02-28 18:15:19

标签: list itext7 checkmark

我正在尝试使用复选标记自定义列表符号。但它不起作用。解决方法我使用Image。请参阅下面的示例代码。

.setListSymbol(“\ u2022”) - 工作正常 .setListSymbol(“\ u2714”)或.setListSymbol(“\ u2713”)无法正常工作

1 个答案:

答案 0 :(得分:2)

自定义列表符号就像任何其他文本一样。您必须指定正确的字体才能使其正常工作。默认情况下,iText与Helvetica字体(标准字体之一)配合使用。 Helvetica包含U+2022,但不包含U+2714U+2713

您可以指定列表中包含必要字形的字体,此字体将在列表符号中使用。包含您提到的字形的字体示例为Arial Unicode

List list = new List().
       setFont(PdfFontFactory.createFont("C:/Windows/Fonts/arialuni.ttf", PdfEncodings.IDENTITY_H)).
       setListSymbol("\u2713");

将创建一个包含所需列表符号的列表。

如果您不想更改整个列表的字体,但只更改列表符号字体,则可以通过以下方式执行此操作:

PdfFont unicodeFont = PdfFontFactory.createFont("C:/Windows/Fonts/arialuni.ttf", PdfEncodings.IDENTITY_H);
List list = new List().
       setListSymbol(new Text("\u2713").setFont(unicodeFont));