【发布时间】:2020-03-25 16:04:23
【问题描述】:
我正在尝试使用 iText7 包在 C# 中创建字体 Courier new。我只能在标准字体中找到 Courier,但我想使用Courier new。我的代码如下所示:
PdfFont courier = PdfFontFactory.CreateFont(StandardFonts.COURIER, false);
如何使用 iText7 创建自定义字体?
【问题讨论】:
我正在尝试使用 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);
【讨论】: