2013-04-16 52 views
0

我相信這是一個非常常見的問題,但我找不到適合我的任何答案。請考慮下面的情況。如何解決C#winforms中的「無效的打印機指定」錯誤?

方案
我已經開發出一種C#Winform的應用與SAP水晶報表VS2010的餐廳。完成訂單後,發票需要直接打印到打印機。以下是我正在使用的代碼。

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是決定是否該發票將被直接發送到打印機或將在報告中觀看者的形式被加載的變量。當_s打印或顯示設置爲打印,很可能發票將被髮送到打印機。在我的端和我的USB打印機,這工作正常。但是,當我向客戶提供相同的解決方案時,他會得到異常「無效打印機指定」。更令人沮喪的是,如果發票在報表查看器窗體中加載,那麼我可以將發票打印到同一臺打印機上,而不會出現任何問題。我完全不知道,爲什麼會發生這種情況?你能像以前那樣幫助你嗎?謝謝。

+1

它當然看起來是對我的。你可以嘗試輸出打印機名稱到屏幕或日誌文件,以確保它實際上返回良好的數據? – Bobson

+0

除了@Bobson的建議,一旦你有打印機名稱嘗試簡單地打印到記事本文件。這是否工作? –

回答

1

只是經過一些快速搜索,我發現你的代碼使用相同的例子,有人發佈它不能按預期通過SAP論壇工作,並提供了一條線Matt Ruma。值得一擊不知道它是否只是試圖幫助。

+0

@MattRuma的帖子當然有幫助!謝謝。 –

+0

鏈接不再有效。如果您仍然有內容,請將其粘貼到答案中。 – HenricF

相關問題