关于服务器端打印

本文介绍了一种使用 C# 在服务器端直接控制打印机打印的方法,并提供了一个具体的实现示例。但该方法只适用于本地打印机,对于网络打印机则无法生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于服务器端打印(直接控制打印机打印,不是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));
    }

上述调试时正常,网页发布出去后,调用的打印机必须是发布网页的机器上的本地打印机,如果是网络打印机,实际机器不在发布网页的机器上则上述打印无效,没有反应,不知道为什么??
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值