这个可以像记事本一样的打印.private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float linesPerPage = 0;
float yPosition = 0;
int count = 0;
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top; 
string line = null;
StringReader myReader= new StringReader(textBox1.Text);
Font printFont = this.textBox1.Font;
SolidBrush myBrush = new SolidBrush(Color.Black);
linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
while(count < linesPerPage && ((line=myReader.ReadLine()) != null))
{ // calculate the next line position based on
// the height of the font according to the printing device  yPosition = topMargin + (count * printFont.GetHeight(e.Graphics)); // draw the next line in the rich edit control  e.Graphics.DrawString(line, printFont, myBrush, leftMargin, yPosition, new StringFormat()); count++;
}

if  (line != null)
e.HasMorePages = true;
else
e.HasMorePages = false; myBrush.Dispose();
}