2013-06-09 2 views
0

задавался вопросом, почему я не могу использовать System.Drawing.Font для MigraDoc.DocumentObjectModel.Font. Мне нужно загрузить определенный шрифт в моем приложении. Я хочу сделать это с помощью стилей, как это:Cast System.Drawing.Font to 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

ответ

0

Casting работает только тогда, когда один класс был получен от другого или реализует интерфейс.

Метод, показанный в примере с частными шрифтами (в настоящее время он работает только с сборкой WPF, поэтому, если вы используете GDI + сборку PDFsharp/MigraDoc, просто переключитесь на сборку WFP).

Вы регистрируете шрифты, которые вам нужны в PrivateFontCollection. Вы просто указываете имя шрифта в определениях стилей, а MigraDoc будет использовать шрифты для создания PDF-файлов.

+0

Большое спасибо! Я использовал GDI +. Я попытаюсь переключиться и посмотреть, работает ли это. – f1v3