如何为 PDF 文档生成创建和使用自定义字体
How to create and use custom fonts for PDF document generation
我想用附加符号扩展位于传统 MS Windows 字体包中的 truetype 字体,并使用它生成新的 pdf 文档。可能吗?
使用内置 EUDC 编辑器设计自定义 TrueType 字体 (Windows)
您可以使用任何能够处理 TrueType 或 OpenType 字体的字体编辑器,最简单可用的是最终用户字符编辑器由 Microsoft 提供并随 Windows 一起提供。它被称为 eudcedit,可以通过在 运行 window 中执行 eudcedit 命令来 运行 它(可以通过按 [ 来调用) =49=] Key + R). 编辑器启动,您现在可以使用其图形工具设计自己的角色并定义它们的代码。完成字符设计后,您可以通过选择 File -> Font Links… 并在调用的对话框中按 OK 来保存它们。
从现在开始,如果这些最终用户定义的字符实现了 EUDC 支持,它们就可以被许多文本编辑和查看应用程序使用。如果他们使用 Windows API 来显示文本,它将自动工作。
我们将设计一些简单的字符,并将生成的字体用于PDF生成例程。请参阅下图显示字符编辑器 window、代码分配和字体保存过程。
分配的字符代码在上图中突出显示,我们使用默认分配的代码,但可以使用任何允许的代码。我们可以使用设计并保存的角色并创建包含它的 PDF 文件。
为了让它工作,让我们从 windows 字体目录复制生成的字体,并通过将其扩展名从 tte 更改为 ttf 来重命名生成的文件。
假设OS安装在“C:\Windows”,我们要将文件复制到“” C:\customfonts\eudc.ttf” 它看起来如下(使用命令提示符)。以下代码生成包含我们创建的字符的 PDF 文件(使用 API of Apitron.PDF.Kit for .NET):
// create document
FlowDocument document = new FlowDocument() { Margin = new Thickness(5) };
// lets create the village, using \uE000 charcode for each symbol
document.Add(new TextBlock("\uE000\uE000\uE000\uE000\uE000\uE000\uE000\uE000")
{ Font = new Font(@"c:\customfonts\eudc.ttf", 20) });
// generate PDF document
using (Stream stream = File.Create("CustomFontsUsageSample.pdf"))
{
document.Write(stream, new ResourceManager(), new PageBoundary(Boundaries.A4));
}
下图展示了结果:
此外,此自定义字体将嵌入到生成的文档中,使其可以在其他显然没有安装我们的自定义字体的设备上查看。
我想用附加符号扩展位于传统 MS Windows 字体包中的 truetype 字体,并使用它生成新的 pdf 文档。可能吗?
使用内置 EUDC 编辑器设计自定义 TrueType 字体 (Windows)
您可以使用任何能够处理 TrueType 或 OpenType 字体的字体编辑器,最简单可用的是最终用户字符编辑器由 Microsoft 提供并随 Windows 一起提供。它被称为 eudcedit,可以通过在 运行 window 中执行 eudcedit 命令来 运行 它(可以通过按 [ 来调用) =49=] Key + R). 编辑器启动,您现在可以使用其图形工具设计自己的角色并定义它们的代码。完成字符设计后,您可以通过选择 File -> Font Links… 并在调用的对话框中按 OK 来保存它们。
从现在开始,如果这些最终用户定义的字符实现了 EUDC 支持,它们就可以被许多文本编辑和查看应用程序使用。如果他们使用 Windows API 来显示文本,它将自动工作。
我们将设计一些简单的字符,并将生成的字体用于PDF生成例程。请参阅下图显示字符编辑器 window、代码分配和字体保存过程。
分配的字符代码在上图中突出显示,我们使用默认分配的代码,但可以使用任何允许的代码。我们可以使用设计并保存的角色并创建包含它的 PDF 文件。 为了让它工作,让我们从 windows 字体目录复制生成的字体,并通过将其扩展名从 tte 更改为 ttf 来重命名生成的文件。
假设OS安装在“C:\Windows”,我们要将文件复制到“” C:\customfonts\eudc.ttf” 它看起来如下(使用命令提示符)。以下代码生成包含我们创建的字符的 PDF 文件(使用 API of Apitron.PDF.Kit for .NET):
// create document
FlowDocument document = new FlowDocument() { Margin = new Thickness(5) };
// lets create the village, using \uE000 charcode for each symbol
document.Add(new TextBlock("\uE000\uE000\uE000\uE000\uE000\uE000\uE000\uE000")
{ Font = new Font(@"c:\customfonts\eudc.ttf", 20) });
// generate PDF document
using (Stream stream = File.Create("CustomFontsUsageSample.pdf"))
{
document.Write(stream, new ResourceManager(), new PageBoundary(Boundaries.A4));
}
下图展示了结果:
此外,此自定义字体将嵌入到生成的文档中,使其可以在其他显然没有安装我们的自定义字体的设备上查看。