Я могу получить текст, чтобы получиться правильно с помощью кода, приведенного ниже. Однако приведенный ниже код имеет ограничения. Он отключит что-либо после одной страницы и не покажет никакого форматирования.Печать RTF с форматированием
Если я использую message.Rtf
вместо message.Text
, он выплевывает RTF коды как:
{\ rtf1 \ ansansicpg1252 \ deff0
Как я могу получить вещи для печати с форматированием и многое другое чем одна страница? Каждая ссылка на Google фиолетовая, но безрезультатно.
private void printerHandler(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
StringReader reader = new StringReader(message.Text);
float LinesPerPage = 0;
float LeftMargin = e.MarginBounds.Left;
float TopMargin = e.MarginBounds.Top;
string Line = null;
Font PrintFont = this.message.Font;
SolidBrush PrintBrush = new SolidBrush(Color.Black);
LinesPerPage = e.MarginBounds.Height/PrintFont.GetHeight(e.Graphics);
RectangleF rect = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Right - e.MarginBounds.Left, e.MarginBounds.Bottom - e.MarginBounds.Top);
Line = reader.ReadToEnd();
e.Graphics.DrawString(Line, PrintFont, PrintBrush, rect, new StringFormat());
e.HasMorePages = false;
PrintBrush.Dispose();
}
Link, кажется, сломана. –