如何使用 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() “方法来指定自定义字体所在的文件夹。但在开始之前
- 找到要使用的自定义字体文件。
- 创建一个存放自定义字体的文件夹。
- 将自定义字体复制到字体文件夹。
设置字体文件夹以将 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# 为例,看看如何设置自定义字体文件夹。您应遵循以下几个步骤
- 使用 Configuration() 构造函数创建 Configuration 类的实例。
- 调用配置对象上的 GetService 方法来获取 IUserAgentService 接口的实例。
- 使用
FontsSettings 类的
SetFontsLookupFolder(
fontsFolder
) 方法并向其传递自定义字体文件夹路径。该方法允许库在生成 PDF 文档时搜索指定文件夹中的字体。如果任何自定义字体不在该文件夹中,则无法在 PDF 文档中使用。 - 使用 HTMLDocument() 构造函数以指定配置初始化 HTML 文档。
- 调用 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 转换为图像,应遵循以下几个步骤:
- 创建
configuration
对象,并使用 GetService 方法获取 IUserAgentService 接口的引用。 - 调用
SetFontsLookupFolder(
fontsFolder
,recursive
) 方法设置字体文件夹。该方法需要两个参数:字体所在的文件夹路径和一个布尔值,布尔值用于指定是否包含子文件夹。通过将true
设置为recursive
参数,该方法会在字体查找中包含指定文件夹的所有子文件夹。 - 使用指定配置初始化 HTML 文档。
- 调用 ConvertHTML() 方法将 HTML 转换为图像。
因此,通过使用 “SetFontsLookupFolder() “方法设置字体文件夹,Aspose.HTML 库将使用指定文件夹中的自定义字体来将 HTML 文档呈现为 PDF 或图像等各种输出格式,从而确保使用所需的字体按预期显示文档。
Aspose.HTML 提供免费的 HTML 网络应用程序,是转换器、合并器、搜索引擎优化工具、HTML 代码生成器、URL 工具等的在线集合。这些应用程序可在任何装有网络浏览器的操作系统上运行,无需安装任何其他软件。它是一种快速、简便的方法,能有效解决与 HTML 相关的任务。