I found the answer to this question after struggling for 2 days. It was pretty simple
public void PrintEstimate(PrintPageEventArgs e)
{
e.PageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);//initialize the height and width of the page
foreach(.. )
{
/* ...
Write the loop here
...
...
*/
e.PageSettings.PaperSize.Height = e.PageSettings.PaperSize.Height + 22;// foreach iteration, increment the page height.
}
}