使用 iText7 创建字体 "Courier_new"

Using iText7 to create Font "Courier_new"

我正在尝试使用 iText7 包在 C# 中创建字体 Courier new。我只能在标准字体中找到Courier,但我想使用Courier new。我的代码如下所示:

PdfFont courier = PdfFontFactory.CreateFont(StandardFonts.COURIER, false);

如何使用 iText7 创建自定义字体?

标准字体集固定在PDF规范中,共14种字体。此外,这些字体在 PDF 查看器中的视觉外观可能取决于实现,因此因查看器而异(尽管在实践中您几乎看不出差异)。

要使用您的自定义字体,您需要一个字体文件(通常是 .ttf.otf 文件)。例如。 Windows 附带的常规(非粗体,非斜体)Courier New 字体通常位于 C:/Windows/Fonts/cour.ttf(请检查 Windows 字体许可证是否允许您使用它).

您还应该为创建字体的方法提供编码。如果您不提供编码,您的拉丁字符将被很好地转换,但对于更广泛的 Unicode 字符,您应该提供 IDENTITY_H 编码。

示例:

PdfFont font = PdfFontFactory.createFont("C:/Windows/Fonts/cour.ttf", PdfEncodings.IDENTITY_H);