如何使用 C# 设置字体文件夹

自定义字体 – 字体为何重要

字体在塑造文字外观、易读性、美感和情感影响方面发挥着重要作用。因此,选择合适的字体对于实现特定目标至关重要,无论是使文本更具视觉吸引力、可读性还是可识别性。在某些情况下,您可能希望安装自己设计、购买或从外部获取的自定义字体。

本文介绍如何安装字体文件夹,以便在渲染 HTML 文档时使用它们。

在 C# 中安装字体 – 添加自定义字体文件夹

Aspose.HTML for .NET是一个功能强大的库,用于处理HTML文档。它允许开发人员使用 C# 和其他 .NET 语言访问和操作 HTML DOM。它还能设置字体文件夹,以便将 HTML 文档渲染为特定格式。

默认情况下,Aspose.HTML for .NET 会查找系统中安装的字体。使用 FontsSettings 类可以设置 Aspose.HTML 在渲染文档时查找字体的文件夹。

C# 示例将演示如何设置字体文件夹,以便将 HTML 文档渲染为 PDF 和图像格式。我们将使用 Aspose.HTML for .NET 库中的 “SetFontsLookupFolder() “方法来指定自定义字体所在的文件夹。但在开始之前

  1. 找到要使用的自定义字体文件。
  2. 创建一个存放自定义字体的文件夹。
  3. 将自定义字体复制到字体文件夹。

设置字体文件夹以将 HTML 渲染成 PDF

例如,在将 HTML 文档渲染为 PDF 文件时,必须确保渲染引擎可以使用 HTML 文档中使用的自定义字体。默认情况下,Aspose.HTML 会在系统字体文件夹中查找字体。但是,如果使用的是自定义字体,则需要调用 SetFontsLookupFolder(fontsFolder) 方法并告诉它在哪里可以找到这些字体。

下面是一个示例,说明如何使用 Aspose.HTML C# 库设置自定义字体,将 HTML 文档渲染为 PDF:

 1// Use custom font folder in HTML to PDF conversion
 2
 3// Prepare a path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "file.html");
 5
 6// Create an instance of Configuration
 7using Configuration configuration = new Configuration();
 8
 9// Get the IUserAgentService
10IUserAgentService service = configuration.GetService<IUserAgentService>();
11
12// Set a custom font folder path
13service.FontsSettings.SetFontsLookupFolder(Path.Combine(DataDir + "fonts"));
14
15// Initialize the HTML document with specified configuration
16using (HTMLDocument document = new HTMLDocument(documentPath, configuration))
17{
18    // Convert HTML to PDF
19    Converter.ConvertHTML(document, new PdfSaveOptions(), Path.Combine(OutputDir, "file-fontsetting.pdf"));
20}

让我们以 C# 为例,看看如何设置自定义字体文件夹。您应遵循以下几个步骤

  1. 使用 Configuration() 构造函数创建 Configuration 类的实例。
  2. 调用配置对象上的 GetService 方法来获取 IUserAgentService 接口的实例。
  3. 使用 FontsSettings 类的 SetFontsLookupFolder(fontsFolder) 方法并向其传递自定义字体文件夹路径。该方法允许库在生成 PDF 文档时搜索指定文件夹中的字体。如果任何自定义字体不在该文件夹中,则无法在 PDF 文档中使用。
  4. 使用 HTMLDocument() 构造函数以指定配置初始化 HTML 文档。
  5. 调用 ConvertHTML() 方法将 HTML 转换为 PDF。

您可以从 GitHub 下载数据文件和演示如何设置字体文件夹的完整 C# 示例。

设置字体文件夹以将 HTML 渲染为图像

让我们看看如何使用 Aspose.HTML for .NET 库将 HTML 文档转换为图像格式,同时为自定义字体设置文件夹的 C# 示例:

 1// Set custom font folder for HTML to PNG conversion in C#
 2
 3// Prepare a path to a source HTML file
 4string documentPath = Path.Combine(DataDir, "file.html");
 5
 6// Prepare a path to save the converted file
 7string savePath = Path.Combine(OutputDir, "file-output.png");
 8
 9// Create an instance of the Configuration class
10using Configuration configuration = new Configuration();
11
12// Get the IUserAgentService
13IUserAgentService userAgentService = configuration.GetService<IUserAgentService>();
14
15// Use the SetFontsLookupFolder() method to set a directory which will act as a new fontsFolder
16// Pass "true" as the recursive parameter to use all nested directories
17userAgentService.FontsSettings.SetFontsLookupFolder(Path.Combine(DataDir + "font"), true);
18
19// Initialize the HTML document with specified configuration
20using (HTMLDocument document = new HTMLDocument(documentPath, configuration))
21{
22    // Convert HTML to Image
23    Converter.ConvertHTML(document, new ImageSaveOptions(), savePath);
24}

要使用自定义字体将 HTML 转换为图像,应遵循以下几个步骤:

  1. 创建 configuration 对象,并使用 GetService 方法获取 IUserAgentService 接口的引用。
  2. 调用 SetFontsLookupFolder(fontsFolder, recursive) 方法设置字体文件夹。该方法需要两个参数:字体所在的文件夹路径和一个布尔值,布尔值用于指定是否包含子文件夹。通过将 true 设置为 recursive 参数,该方法会在字体查找中包含指定文件夹的所有子文件夹。
  3. 使用指定配置初始化 HTML 文档。
  4. 调用 ConvertHTML() 方法将 HTML 转换为图像。

因此,通过使用 “SetFontsLookupFolder() “方法设置字体文件夹,Aspose.HTML 库将使用指定文件夹中的自定义字体来将 HTML 文档呈现为 PDF 或图像等各种输出格式,从而确保使用所需的字体按预期显示文档。

Aspose.HTML 提供免费的 HTML 网络应用程序,是转换器、合并器、搜索引擎优化工具、HTML 代码生成器、URL 工具等的在线集合。这些应用程序可在任何装有网络浏览器的操作系统上运行,无需安装任何其他软件。它是一种快速、简便的方法,能有效解决与 HTML 相关的任务。

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.