【发布时间】:2015-09-08 11:01:59
【问题描述】:
我将我的应用程序托管在远程网络服务器上,当我单击客户端计算机上的“打印”按钮时,我收到“未安装打印机”错误,我从中了解到应用程序正在尝试在服务器上查找打印机而不是客户端计算机。
我正在使用此代码进行打印:
protected void BtnPrint_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += PrintPage;
pd.Print(); // Prints on remote server
}
private void PrintPage(object o, PrintPageEventArgs e)
{
// QR Code
QRCodeEncoder encoder = new QRCodeEncoder();
encoder.QRCodeScale = 3;
String EmployeeId = this.Request.QueryString.Get("EmployeeId ").ToString();
Bitmap img = encoder.Encode(EmployeeId );
Point loc = new Point(1, 1);
e.Graphics.DrawImage(img, loc);
}
编辑:
我在 Stack Over flow 上看到过类似的问题,它们使用“打印对话框”打开对话框供用户从他的计算机中进行选择。我有两个问题:
1- PrintDialog 仅在 Windows 窗体应用程序中可用
2- 我想保留一键打印二维码的选项,而不是增加用户必须执行的点击次数。
【问题讨论】:
-
您应该使用 javascript 或 jquery 来实现这一点。在服务器上编写代码并不能解决您的目的。
标签: asp.net web-applications printing