Как встроить шрифт в PDF с помощью RDLC - PullRequest
6 голосов
/ 07 апреля 2009

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

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

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

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

ТИА

Ответы [ 4 ]

5 голосов
/ 03 августа 2012

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

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

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

0 голосов
/ 02 марта 2019
  • Шрифт должен быть помечен как разрешенный для встраивания
  • Шрифт должен иметь тип TrueType
  • Добавление шрифта в шрифты Windows Server

Если вы выполняете все вышеперечисленное и шрифт не отображается в файле отчета RDLC Pdf,

Может быть, вы должны перезагрузить сервер, у меня работает

0 голосов
/ 29 апреля 2015

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

<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");
0 голосов
/ 08 июля 2010

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

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

...