C# System.Drawing.Printing.PrintDocument的PrintPage方法里e.Graphics.DrawImage如何控制分页
实际上数据有40几条,打印出来只有30几条,就打印一页,剩下的没有打印到下一页。
以下图片上面的是打印出来的截图(只有一页,剩下的数据就没打印出来了)
private void t_pdo_print_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap _NewBitmap = new Bitmap(splitContainer1.Size.Width, splitContainer1.Size.Height);
splitContainer1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);
}
看你打印的代码。
private void t_pdo_print_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap _NewBitmap = new Bitmap(splitContainer1.Size.Width, splitContainer1.Size.Height);
splitContainer1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);
}
就是这段了啊,用的是winform打印控件
@囧嗿″翫▓: 这个好像是搞水印的吧。
@PursueZhang: 不是啊,就是生成一张图片,图片的内容从页面控制那边获取。
@PursueZhang: 数据超出后,没法控制让它把剩下的内容画到下一页。
@囧嗿″翫▓: 这就是图片上的水印啊。这个地方不是搞打印信息的。
你这个只是在页面第一次加载的时候才弄上水印。并且只是在加载出来的信息的基础上,你加载多少就水印多少。
private void t_pdo_print_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap _NewBitmap = new Bitmap(splitContainer1.Size.Width, splitContainer1.Size.Height);
splitContainer1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);
}
@PursueZhang: 点打印的时候,从控件那边生成图片然后打印,事实上控件上面所有数据都显示了,
@PursueZhang: 控件上面加载的时候会绑定所有数据,点打印的时候会根据控件那边生成一张图片,然后打印,但是打印的时候,不管你图片高度多少,都只是打印一张。。。
已解决。。。