0

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

.setListSymbol("\u2022") - 工作正常 .setListSymbol("\u2714") 或 .setListSymbol("\u2713") 不工作

4

1 回答 1

2

自定义列表符号就像任何其他文本一样。您必须指定正确的字体才能使其正常工作。默认情况下,iText 使用标准字体之一的 Helvetica 字体。Helvetica 包含U+2022,但不包含U+2714and U+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));
于 2017-02-28T19:35:35.410 回答