我确信这是一个经常被问到的问题,但我找不到任何适合我的答案。请考虑以下情况。
场景
我已经使用SAP Crystal Report for VS2010为餐厅开发了一个C# Winform应用程序。完成订单后,发票需要直接打印到打印机上。下面是我正在使用的代码。
oMainOrder.SetDataSource(oDSOrderReport);
if (_sPrintOrShow.ToLower() == "print")
{
oMainOrder.PrintOptions.PrinterName = printDialog.PrinterSettings.PrinterName;
//Above line provides the name of the default printer, which is also my target printer
oMainOrder.PrintToPrinter(1, false, 0, 0);
}
else
{
frmShowReport reportViewerForm = new frmShowReport(oDSOrderReport);
reportViewerForm.ShowDialog();
}
_sPrintOrShow是一个变量,用于确定发票是直接发送到打印机还是加载到报表查看器表单中。当_sPrintOrShow设置为print时,很可能会将发票发送到打印机。在我和我的 USB 打印机上,这工作正常。但是当我向我的客户提供同样的解决方案时,他得到了异常“指定的打印机无效”。更令人沮丧的是,如果发票是在报表查看器表单中加载的,那么我可以从那里毫无问题地将发票打印到同一台打印机上。我完全不知道,为什么会这样?你们中的任何人都可以像以前那样帮助我吗?谢谢。