Приведение System.Drawing.Font к MigraDoc.DocumentObjectModel.Font?
Мне было интересно, почему я не могу привести 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
1 ответ
Приведение работает, только если один класс был получен из другого или реализует интерфейс.
Техника, показанная в примере с частными шрифтами, работает (в настоящее время она работает только со сборкой WPF, поэтому, если вы используете сборку GDI+ из PDFsharp/MigraDoc, просто переключитесь на сборку WFP).
Вы регистрируете нужные шрифты в PrivateFontCollection. Вы просто даете имя шрифта в определениях стилей, и MigraDoc будет использовать шрифты для создания файлов PDF.