Itext7 - 自定义带有复选标记的列表符号
Itext7 - customizing list symbol with checkmark
我正在尝试使用复选标记自定义列表符号。但它不工作。我用 Image 做的解决方法。请参阅下面的示例代码。
.setListSymbol("\u2022") - 工作正常
.setListSymbol("\u2714") 或 .setListSymbol("\u2713") 不工作
自定义列表符号与任何其他文本一样。您必须指定正确的字体才能使其正常工作。默认情况下,iText 使用标准字体之一的 Helvetica 字体。 Helvetica包含U+2022
,但不包含U+2714
和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));
我正在尝试使用复选标记自定义列表符号。但它不工作。我用 Image 做的解决方法。请参阅下面的示例代码。
.setListSymbol("\u2022") - 工作正常 .setListSymbol("\u2714") 或 .setListSymbol("\u2713") 不工作
自定义列表符号与任何其他文本一样。您必须指定正确的字体才能使其正常工作。默认情况下,iText 使用标准字体之一的 Helvetica 字体。 Helvetica包含U+2022
,但不包含U+2714
和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));