提问人:FerDeath 提问时间:2/9/2017 更新时间:2/9/2017 访问量:1456
如何从MVC Web应用程序将文件打印到客户端卷纸打印机?
How to print files to client rollpaper printer from MVC Web Application?
问:
在我的项目中,我遇到了这个问题,我已经挣扎了很长时间。希望有人能帮助我。
我的客户需要从网络上打印许多票证(一键),其中包含数据库中的一些信息,比如名称、日期和价格。所有票据都将打印在卷纸打印机上,因此在每张票据之后,它应该自动剪切每张票据。 哪种方式是完成此任务的合适方法?
我有一个工作代码,它使用 PrintDocument 类(下面的代码),问题是我需要访问打印机才能使用它。
场景:
- 我在 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;
}
答: 暂无答案
评论