关于服务器端打印(直接控制打印机打印,不是ie打印,不是打印web页面)
using System.Drawing.Printing;
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow gr in GridView1.Rows)
{
if (Convert.ToInt16(gr.Cells[2].Text) != 0)
{
PrintDocument p = new PrintDocument();
p.PrinterSettings.PrinterName = @"打印机名字";
p.PrinterSettings.Copies = Convert.ToInt16(gr.Cells[2].Text);//需要打印的份数
/*foreach (string s in PrinterSettings.InstalledPrinters)
Response.Write(s+"<br>");*/
s = gr.Cells[0].Text;
p.PrintPage += new PrintPageEventHandler(this.p_PrintPage);//delegate
p.Print();
}
}
}
public void p_PrintPage(object sender, PrintPageEventArgs ev)
{
Bitmap b = MyImage.Generate();//Generate返回一个bitmap对象
ev.Graphics.DrawImage(b, new Point(30, 50));
}
上述调试时正常,网页发布出去后,调用的打印机必须是发布网页的机器上的本地打印机,如果是网络打印机,实际机器不在发布网页的机器上则上述打印无效,没有反应,不知道为什么??
转载请注明原文地址: https://ibbs.8miu.com/read-150331.html