2009-04-07 2 views
6

Я использую Microsoft.Reporting.WebForms.LocalReport для создания некоторого PDF-файла, все работает как шарм, но теперь зло маркетинг хочет использовать собственный шрифт (они используют такие сумасшедшие аргументы как «фирменный стиль» и прочее).Как вставить шрифт в PDF с помощью RDLC

я уже выпучил вокруг, и теперь я знаю, что

  • мне нужно ReportViewer 2008 SP1 или выше
  • шрифт должен быть помечен как вложение позволило
  • шрифт должен быть TrueType

но все еще не работает. i убежден, что RDLC не поддерживает эту функцию, знает ли кто-нибудь, если это так? К сожалению, я не могу использовать серверные отчеты, потому что мне не хватает сервера отчетов.

ТИА

+0

Нашли решение? Имея ту же проблему ... – gsharp

+1

Это работает на нас - мы используем версию Microsoft Reporting в комплекте с Visual Studio 2010. –

ответ

5

Встраивание работы шрифта с Microsoft Reporting 2010 или более поздней версии следующие ограничения все еще применяются

  • Шрифт должен быть помечен как вложение разрешено
  • Шрифт должен быть типа TrueType

Вы можете испытать проблема в том, что ваш шрифт внедряется, но ваш PDF-файл все еще отображает текст в Arial. Это произошло со мной после того, как я установил некоторые новые шрифты на Windows Server 2008 R2, перезапуск AppPool (ASP.NET MVC) не решил эту проблему, необходим перезапуск сервера.

0

Я сделал простой тест, используя шрифт Arial Narrow с Visual Studio 2008 и он работал отлично. Я протестировал сгенерированный PDF-файл на виртуальной машине XP, у которой нет шрифта, и он отображается нормально. Возможно, это проблема с шрифтом?

Хм, возможно, это так - в моем тесте я использовал Winforms.LocalReport, а не WebForms. Возможно, это трюк?

0

У меня была такая же проблема, но я обнаружил, что шрифт не нужно вставлять. Проблема заключалась в атрибуте Font Face в HTML. Редактор HTML мы использовали сгенерирован шрифт тегов, как это:

<font face="Impact,Charcoal,sans-serif" size="6">Impact </font> 

Что было хорошо для просмотра отчетов, но создать файл PDF, это необходимо, чтобы выглядеть следующим образом:

<font face="Impact" size="6">Impact </font> 

Так Я добавил код для замены значений атрибутов до того, как он был привязан к отчету:

htmlValue = htmlValue.Replace("Impact,Charcoal,sans-serif", "Impact") 
       .Replace("Arial,Helvetica,sans-serif", "Arial") 
       .Replace("Georgia,serif", "Georgia") 
       .Replace("Verdana,Geneva,sans-serif", "Verdana") 
       .Replace("'Courier New',Courier,monospace", "Courier New") 
       .Replace("'Lucida Console',Monaco,monospace", "Lucida Console") 
       .Replace("Tahoma,Geneva,sans-serif", "Tahoma") 
       .Replace("'Times New Roman',Times,serif", "Times New Roman") 
       .Replace("'Trebuchet MS',Helvetica,sans-serif", "Trebuchet MS"); 
Смежные вопросы