C# 如何从MVC Web应用程序将文件打印到客户机卷筒纸打印机?
在我的项目中,我遇到了这个问题,我已经挣扎了这么多小时。希望有人能帮助我 我的客户需要从网上打印很多票(只需单击一下),并从数据库中获取一些信息,比如姓名、日期和价格。所有车票都将在卷筒纸打印机上打印,因此每张车票后都应自动剪切每张车票。 实现这一任务的适当方式是什么 我有一个工作代码,它使用PrintDocument类(下面的代码),问题是我需要访问打印机才能使用它 情景:C# 如何从MVC Web应用程序将文件打印到客户机卷筒纸打印机?,c#,asp.net,asp.net-mvc,printing,client-side,C#,Asp.net,Asp.net Mvc,Printing,Client Side,在我的项目中,我遇到了这个问题,我已经挣扎了这么多小时。希望有人能帮助我 我的客户需要从网上打印很多票(只需单击一下),并从数据库中获取一些信息,比如姓名、日期和价格。所有车票都将在卷筒纸打印机上打印,因此每张车票后都应自动剪切每张车票。 实现这一任务的适当方式是什么 我有一个工作代码,它使用PrintDocument类(下面的代码),问题是我需要访问打印机才能使用它 情景: 我正在Visual Studio 2010上使用ASP.NET MVC3 应用程序位于共享服务器上 需要生成多张一次打
- 我正在Visual Studio 2010上使用ASP.NET MVC3
- 应用程序位于共享服务器上
- 需要生成多张一次打印的票据
- 我可以访问客户端PC,因此我可以在那里安装所有东西,并触摸任何必要的东西。
- 该应用程序与Firefox和/或Chrome一起使用
- 打印机是爱普生TMT82
public static bool PrintTicket(ref string Msg, string Impresora)
{
bool result = false;
try
{
System.Drawing.Printing.PrintDocument Pd = new System.Drawing.Printing.PrintDocument();
//If empty, Default
if(!String.IsNullOrEmpty(Impresora))
Pd.PrinterSettings.PrinterName = Impresora;
Margins margins = new Margins(10, 0, 0, 0);
Pd.DefaultPageSettings.Margins = margins;
Pd.PrintController = new System.Drawing.Printing.StandardPrintController();
Pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printTicket_PrintPage);
Pd.Print();
PrintServer ps = new PrintServer();
PrintQueue printerQueue = LocalPrintServer.GetDefaultPrintQueue();
SpotTroubleUsingProperties(ref Msg, printerQueue);
result = (Msg == String.Empty);
if (!result)
{
var jobs = printerQueue.GetPrintJobInfoCollection();
foreach (var job in jobs)
{
job.Cancel();
}
}
}
catch (Exception ex)
{
Msg = ex.Message;
}
return result;
}
打印机驱动程序(已经安装)不能处理这个问题吗?问题是PrintDocument在执行它的一侧工作。因此,它将在服务器上而不是客户端上查找打印机。