Есть ли способ ограничить DrawString
указанным прямоугольником?Я хочу, чтобы строка была обрезана (желательно с многоточием "..."), если она не подходит.
Из других вопросов о StackOverflow и методах проб и ошибок я смог получить PDFsharpдля переноса текста, , но только если он содержит пробелы .
var stringToPrint = "m m m m m m m m m m m m";
var temp = gfx.MeasureString(stringToPrint, font);
var rect = new XRect(new XPoint(leftMargin + leftPush, topMargin + topPush),
new XPoint(leftMargin + page.Width / 2, topMargin + temp.Height));
var tf = new XTextFormatter(gfx);
gfx.DrawRectangle(XBrushes.Red, rect);
tf.DrawString(stringToPrint, font, XBrushes.Black, rect, topLeftStringFormat);
Код выше работает, но, как я сказал, только если строка содержит пробелы.В строку типа var stringToPrint = "mmmmmmmmmmmm";
она записывает всю строку и продолжается за правым краем за пределами прямоугольника.