C# PrintDocument 将所有文本打印成一堆

C# PrintDocument prints all the text in one messy pile

我正在尝试通过 C# PrintDocument 选项打印两个值,但是我正在尝试打印的文本打印在一行中。就像在同一行中,第一个文本位于第二个文本的顶部。我应该怎么做才能避免这种情况?

   try
   {
         // Assumes the default printer.
         PrintDocument pd = new PrintDocument();
         pd.DefaultPageSettings.PaperSize = new PaperSize("A4", 827, 1170);
         pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
         pd.Print();
    }
   catch (Exception ex)
   {
             MessageBox.Show("Error", ex.ToString());

   }

   private void pd_PrintPage(Object sender, PrintPageEventArgs ev)
   {
          ev.Graphics.DrawString("hello", new Font("Time New Roman", 14, FontStyle.Bold), Brushes.Black, 20, 100);
          ev.Graphics.DrawString("Hi!!!!!!", new Font("Time New Roman", 14, FontStyle.Bold), Brushes.Black, 20, 100);
   }

您在完全相同的坐标处打印了两者:20, 100

如果你不想这样做,就停止这样做。您希望文本出现在页面上的不同位置,因此将其绘制到页面上的不同位置。