Printer Font Binary (PFB) 字体是 Adobe 的 Type1 字体。 Windows 操作系统使用存储在 PFB 文件中的 Adobe Type 1 字体。在某些情况下,我们可能需要以编程方式将 PFB 字体转换为 TTF。 True Type 字体或 TTF 用于所有数字平台的操作系统。在本文中,我们将学习如何在 C# 中将 PFB 转换为 TTF。
本文应涵盖以下主题:
C# PFB 到 TTF 转换器字体 API
为了将 Type1 PFB 字体转换为 TTF,我们将使用 Aspose.Font for .NET API。它允许从支持的字体类型 加载、保存和提取字体信息。
在 API 中,FontFileDefinition 类表示字体文件定义。 FontDefinition 类表示字体文件集的定义。它包含不属于字体内部数据的字段。可以从这些字段加载字体源(文件、内存等)以描述其位置和其他数据。 Font 类是所有 Font 类的基类。为了打开字体,它提供了一个名为 Open() 的方法。它还允许使用 SaveToFormat() 方法将字体保存为指定格式。 FontSavingFormats 枚举指定字体类型。
请下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Font
如何在 C# 中将 PFB 转换为 TTF
我们可以使用 Aspose.Font for .NET 轻松地将 PFB 字体从 .pfb 文件转换为 TTF 格式,方法如下:
- 打开 PFB 字体。
- 指定 TTF 字体的输出设置。
- 将 TTF 保存到所需位置。
以下部分将解释如何将这些步骤转换为 C# 并将 PFB 转换为 TTF。
使用 C# 将 PFB 转换为 TTF
请按照以下步骤在 C# 中以编程方式将 PFB 转换为 TTF:
- 首先,使用 FileSystemStreamSource 类加载字体文件。
- 接下来,使用源文件对象作为参数创建 FontFileDefinition 类的实例。
- 然后,初始化Font类型为Type1的FontDefinition类对象和FontFileDefinition对象。
- 之后,使用 Font.Open() 方法以 FontDefinition 对象作为参数打开字体。
- 最后,调用 SaveToFormat() 方法保存它。它以输出文件流对象和 FontSavingFormats.TTF 作为参数。
以下代码示例显示了如何在 C# 中将 PFB 转换为 TTF。
// PFB Type1 字体文件路径
string fontPath = @"C:\Files\Courier.pfb";
// 加载字体文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// 创建字体文件定义
FontFileDefinition fileDefinition = new FontFileDefinition("pfb", source);
// 创建字体定义
FontDefinition fontDefinition = new FontDefinition(FontType.Type1, fileDefinition);
// 打开字体
Font font = Font.Open(fontDefinition);
// TTF 输出设置
FileStream outStream = File.Create(@"C:\Files\Type1ToTtf_out1.ttf");
// 将 PFB 转换为 TTF
font.SaveToFormat(outStream, FontSavingFormats.TTF);
获得免费许可证
您可以 获得免费的临时许可证 来试用该库,而没有评估限制。
结论
在本文中,我们学习了如何在 C# 中将 PFB Type1 字体转换为 True Type 字体 (TTF)。您可以使用 文档 了解有关 Aspose.Font for .NET API 的更多信息。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。