Я использую этот код для печати набора строк из расширенного текстового поля:
private void printBtn_Click(object sender, EventArgs e)
{
PrintDocument p = new PrintDocument();
p.OriginAtMargins = true;
Margins pMargins = new Margins(100, 100, 100, 100);
p.DefaultPageSettings.Margins = pMargins;
p.PrintPage += delegate (object sender1, PrintPageEventArgs e1)
{
e1.Graphics.DrawString(summaryBox.Text, new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height));
};
try
{
p.Print();
this.Close();
}
catch (Exception ex)
{
throw new Exception("Error During Printing", ex);
}
}
Однако длинные строки обрезаются и не выполняются автоматически.Строки обрезаются вправо, и после заполнения первой страницы вторая страница не печатается, а оставшееся содержимое просто игнорируется.Проблемы с настройкой принтера или с расширенным текстовым полем или с обоими?Как я могу убедиться, что длинные строки переносятся и печатаются вторые или третьи страницы, если содержимое слишком длинное?