PDFsharp - использовать приватный шрифт

В настоящее время я работаю над небольшим фрагментом кода, который генерирует файл PDF. Чтобы следовать спецификации проекта, мне нужно использовать шрифт Helvetica Neue Condensed Bold. Так как там, где программа будет работать, установка шрифтов недоступна, мне нужно использовать ее в качестве частного шрифта.

Это не работает. Я пробовал разные фамилии и тому подобное, но я продолжаю терпеть неудачу снова и снова...

byte[] data = File.ReadAllBytes(fontUri);
XPrivateFontCollection.Global.AddFont(data, "#Helvetica Neue Condensed Bold");

И когда я хочу использовать шрифт.

XFont big = new XFont("Helvetica Neue Condensed Bold", 36, XFontStyle.Regular);

Но это продолжает терпеть неудачу снова и снова. Я импортировал файл в свой проект, это файл.ttf. Я не могу разобраться.

Есть кто-нибудь, кто знает мою проблему и, возможно, знает, что я делаю не так?

2 ответа

Решение

Когда вы загрузите исходный пакет PDFsharp, вы найдете рабочий образец, который использует частные шрифты.
Используйте это, чтобы начать.
После распаковки см. Папку "PDFSharp-MigraDocFoundation-1_32\PDFsharp\samples\Samples C#\ На основе GDI+\PrivateFonts".

Если вы не можете заставить его работать со своим шрифтом, у вас будет, по крайней мере, SSCCE, который вы можете отправить для тестирования.

Исходный код можно найти здесь:
http://pdfsharp.codeplex.com/releases

Или, может быть, использовать PDFsharp 1.50 beta от NuGet, где вы используете FontResolver для работы с частными шрифтами.
Смотрите образец резольвера здесь:
http://forum.pdfsharp.net/viewtopic.php?p=8961

Я успешно решил проблему.

Я использовал сборку WPF вместо сборки GDI. Кроме того, ури были неправы, а фамилии были введены неправильно.

Другие вопросы по тегам