0

想知道为什么我不能将 System.Drawing.Font 转换为 MigraDoc.DocumentObjectModel.Font。我需要在我的应用程序中加载特定的字体。我想通过这样的样式来做到这一点:

PrivateFontCollection pfc;
FontFamily family = LoadFontFamily(@".\fonts\TitilliumWeb\TitilliumWeb-Black.ttf", out pfc);
System.Drawing.Font titilliumWeb = new System.Drawing.Font(family, 11.0f);

style.Font.ApplyFont((MigraDoc.DocumentObjectModel.Font) titilliumWeb);

或者更好的是,我可以以某种方式轻松创建 MigraDoc 字体吗?

找到了一个关于如何向 MigraDoc 添加字体的链接,但它并没有真正帮助我 http://www.pdfsharp.net/wiki/PrivateFonts-sample.ashx

4

1 回答 1

0

只有当一个类派生自另一个类或实现接口时,强制转换才有效。

Private Fonts 示例中显示的技术有效(目前它仅适用于 WPF 构建,因此如果您使用 PDFsharp/MigraDoc 的 GDI+ 构建,只需切换到 WFP 构建)。

您在 PrivateFontCollection 中注册所需的字体。您只需在样式定义中提供字体名称,MigraDoc 就会使用这些字体来创建 PDF 文件。

于 2013-06-10T11:21:09.940 回答