我确信这是一个经常被问到的问题,但我找不到适合我的任何答案。请考虑以下情况。
方案
我为一家餐厅开发了一个 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打印机上,这很好用。但是当我向我的客户提供相同的解决方案时,他会得到例外情况“无效的打印机指定”。更令人沮丧的是,如果在报告查看器表单中加载发票,那么我可以从那里将发票打印到同一台打印机而没有任何问题。我完全不知道,为什么会这样?你们之前可以像以前一样帮助我吗?感谢。
答案 0 :(得分:1)
在快速搜索之后,我发现了一个代码使用相同的示例,并且有人发布了它通过SAP论坛无法正常工作并为此Matt Ruma提供了一行。 Worth a Shot不确定它是否只是试图提供帮助。