我使用printdocument进行打印输出。我希望在添加每一行后增加纸张的大小。我发现了类似的问题here和here。但解决方案不起作用。我使用Component类来覆盖Printdocument的基本方法,并在OnBeginPrint事件中设置页面大小
int pageHt = 288, pageWt = 314;
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
{
// Run base code
base.OnBeginPrint(e);
base.DefaultPageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);
base.DefaultPageSettings.Landscape = false;
}
然后,对于每次迭代,我都试图增加纸张高度
base.DefaultPageSettings.PaperSize.Height += 22;
但纸张高度不会增加。帮助赞赏。感谢名单。
答案 0 :(得分:1)
经过2天的努力,我找到了这个问题的答案。这很简单
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.
}
}