我用PerpetuumSoft打印多份報告,但我得到以下異常:指數數組的邊界之外,在打印過程中
Index was outside the bounds of the array.Stack Trace :at System.Drawing.Printing.PrinterSettings.StringCollection.get_Item(Int32 index)
我的代碼:
PrintReportSample.ReportPrintDocument RP = new PrintReportSample.ReportPrintDocument(lectReport);
string pr = System.Drawing.Printing.PrinterSettings.InstalledPrinters[1].ToString();
RP.PrinterSettings.PrinterName = pr;
RP.DefaultPageSettings.Landscape = true;
RP.DefaultPageSettings.PaperSize.Width = 11;
RP.Print();
我想識別客戶端的默認打印機,而不是服務器。
我只在服務器上面對這個問題,一切順利!
編輯:
根據答案:
string pr = System.Drawing.Printing.PrinterSettings.InstalledPrinters[0].ToString();
IT負載很長一段時間,並沒有什麼發生在所有的,我沒有得到任何的異常?
本地當我嘗試打印,保存XPS
文檔窗口」出現
'InstalledPrinters [1]'應'InstalledPrinters [0]' – 2013-04-10 09:40:53
你應該檢查'.InstalledPrinters.Any()'或'.InstalledPrinters.Length> 0'到驗證有,實際上,嘗試使用它之前安裝的打印機。 – 2013-04-10 09:52:59
是啊這個代碼在本地工作,但我發佈時得到這個異常。我嘗試'0'的索引,但它需要很長時間,然後我很長一段時間後'請求超時! – 2013-04-10 09:56:50