0

我使用 printdocument 进行打印输出。我想在添加每一行后增加纸张的大小。我在这里这里发现了一个类似的问题。但解决方案不起作用。我正在使用 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;

但纸张高度不会增加。帮助表示赞赏。谢谢。

4

1 回答 1

1

经过两天的努力,我找到了这个问题的答案。这很简单

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.
   }
}
于 2013-02-04T10:10:48.023 回答