Как загрузить шрифт из файла в отчете RDLC? - PullRequest
4 голосов
/ 16 февраля 2009

Как в Visual Studio 2005 загрузить шрифт из файла и использовать его в отчете RDLC?

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

Ответы [ 2 ]

1 голос
/ 17 марта 2009

Если вам нужен только шрифт для заголовка или двух или для столбца со штрих-кодом, тогда вы можете создать столбец в наборе данных типа «Изображение» и предварительно преобразовать изображения как текст в растровые изображения

// From dreaming in code
/// <summary>
/// Function for converting text to a Bitmap object
/// </summary>
/// <param name="width">Width of the image</param>
/// <param name="height">Height of the image</param>
/// <param name="str">String to be converted</param>
/// <param name="textColor">Color we want the text</param>
/// <param name="recColor">Color we want the background</param>
/// <param name="f">Name of the font we want used</param>
/// <returns></returns>
/// <remarks></remarks>
public Bitmap ConvertTextToBitmap(ref int width, ref int height, ref string str, ref Color textColor, ref Brush recColor, ref string fontName)
{
    using (Bitmap bmp = new Bitmap(width, height)) 
    {
        using (Graphics gfx = Graphics.FromImage((Image)bmp)) 
        {
            gfx.SmoothingMode = SmoothingMode.AntiAlias;
            Font font = new Font(fontName, 11, FontStyle.Regular, GraphicsUnit.Pixel);
            gfx.FillRectangle(Brushes.Transparent, new Rectangle(0, 0, bmp.Width, bmp.Height));
            gfx.FillRectangle(recColor, 0, 0, width, height);
            gfx.DrawString(str, font, new SolidBrush(textColor), 2, 3);
            bmp.Save(Application.StartupPath + "\\" + str + ".bmp", ImageFormat.Bmp);
            return bmp;
        }
    }
}

Вы также можете создать пользовательский элемент отчета, чтобы заменить текстовое поле по умолчанию и т. Д., Но, судя по всему, это большая PITA

0 голосов
/ 11 марта 2009

Кажется, что единственный способ - установить шрифт в Windows и использовать его, как любой другой шрифт, доступный в системе.

...