これは私のコードであり、1ページを印刷すると正常に機能しますが、1ページに収まらないものを印刷しようとすると、新しいページが開始されず、オフセットの変更を受け入れて最初のページに書き込みを開始します。 。
誰かが何をすべきか知っていますか?
private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics graphic = e.Graphics;
Font font = new Font("Courier New", 12);
float fontHeight = font.GetHeight();
int startX = 10;
int startY = 10;
int offset = 0;
float pageWidth = e.PageSettings.PrintableArea.Width;
float pageHeight = e.PageSettings.PrintableArea.Height;
foreach (string line in textRichTextBox.Lines)
{
graphic.DrawString(line, font, new SolidBrush(Color.Black), startX, startY + offset);
offset += (int)fontHeight;// + 5
if (offset >= pageHeight - (int)fontHeight)
{
e.HasMorePages = true;
offset = 0;
}
}
e.HasMorePages = false;
}