2016-08-09 5 views
3

Мы используем MigraDoc/PDFsharp GDI +, который зависит от того, установлены ли в систему шрифты для рендеринга. Мы попытались внедрить шрифты, но версия GDI + MigraDoc, похоже, не поддерживает это.Возможно ли установить шрифты в Azure App Service?

При попытке переместить этот компонент в службу поиска Azure, он не может найти шрифты. Есть ли способ «установить» шрифты локально в App App, чтобы они были видны GDI?

+0

PDFsharp не зависит от наличия шрифтов, установленных в системе, но поддержка шрифтов изменилась между версией 1.32 и версии 1.50. Использование 'XPrivateFontCollection' должно работать с версией 1.32. Я бы использовал сборку WPF версии 1.50 beta 3 или новее, как объяснялось в моем ответе. –

ответ

0

Как я знаю, компоненты, основанные на API GDI, могут не работать на Azure Web APP. Мы могли найти этот известный выпуск по адресу: https://social.msdn.microsoft.com/Forums/en-US/6ed5c738-390a-4ca7-81d0-370124a4fc88/azure-websites-faq?forum=windowsazurewebsitespreview. В настоящее время попробуйте вместо этого использовать роль Azure Web или Azure VM. Также прошу проголосовать this idea на форуме обратной связи Azure.

1

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

Я бы использовал сборку WPF PDFsharp/MigraDoc 1.50 или новее и использовал интерфейс IFontResolver.

Вы можете использовать общую реализацию EZFontResolver, если это соответствует вашим потребностям:
http://forum.pdfsharp.net/viewtopic.php?f=8&t=3244

+0

К сожалению, мы не можем использовать GDI в Azure Web Apps, как показал ответ. Однако мы полагаемся на GDI, потому что это примерно на 40% быстрее для нашего поколения, чем WPF. Знаете ли вы об этой разнице в производительности и если что-то можно сделать для смягчения? Производительность - наш главный приоритет из-за количества создаваемых нами PDF-файлов. –

+0

Используется ли «на 40% быстрее» для версии 1.50 beta 3b или вы сделали тест с версией 1.32 или ранее? Если вы предоставите MCVE (используя версию 1.50 beta 3b) для тестового примера, где GDI + будет на 40% быстрее, чем WPF, тогда мы можем посмотреть, откуда это происходит. http://stackoverflow.com/help/mcve –

+0

Есть ли пакет nuget для 1.50? Я только смог найти pdfsharp 1.50 без включенного migradoc. –