0

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

场景
我已经使用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 打印机上,这工作正常。但是当我向我的客户提供同样的解决方案时,他得到了异常“指定的打印机无效”。更令人沮丧的是,如果发票是在报表查看器表单中加载的,那么我可以从那里毫无问题地将发票打印到同一台打印机上。我完全不知道,为什么会这样?你们中的任何人都可以像以前那样帮助我吗?谢谢。

4

1 回答 1

-1

经过快速搜索后,我发现了一个使用相同代码的示例,有人通过 SAP 论坛发布说它不能按预期工作,并为此提供了一行Matt Ruma。值得一试不确定它是否只是试图提供帮助。

于 2013-04-16T17:04:02.640 回答