如何解决"指定的打印机无效" c#winforms中的错误?

时间:2013-04-16 16:32:35

标签: c# crystal-reports-2010

我确信这是一个经常被问到的问题,但我找不到适合我的任何答案。请考虑以下情况。

方案
我为一家餐厅开发了一个 C#Winform 应用程序,其中包含用于 VS2010 SAP Crystal Report 。完成订单后,发票需要直接打印到打印机。以下是我正在使用的代码。

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 设置为打印时,很可能会将发票发送到打印机。在我和我的USB打印机上,这很好用。但是当我向我的客户提供相同的解决方案时,他会得到例外情况“无效的打印机指定”。更令人沮丧的是,如果在报告查看器表单中加载发票,那么我可以从那里将发票打印到同一台打印机而没有任何问题。我完全不知道,为什么会这样?你们之前可以像以前一样帮助我吗?感谢。

1 个答案:

答案 0 :(得分:1)

在快速搜索之后,我发现了一个代码使用相同的示例,并且有人发布了它通过SAP论坛无法正常工作并为此Matt Ruma提供了一行。 Worth a Shot不确定它是否只是试图提供帮助。