2010-12-09 58 views
2

我有一行代碼,我可以作爲服務的一部分在本地運行,完美地工作。從IIS中的應用程序打印到服務器上的聯網打印機

sReportPath = objCrystalUtils.ExportReportToPDF("Report Name", iReportInfoID) 

該代碼被作爲服務運行的一部分,並且當通過將其數據I的單元測試它,它最終建立的報告,並打印出來。

當我從ajax調用中運行.ashx中完全相同的代碼片段時。生成報告(我可以看到在磁盤上創建的PDF文件),但打印沒有發生。

oRpt.PrintToPrinter(objReport.DefaultAutoPrint, True, 0, 0) 

在這兩種情況下,使用相同的代碼來打印報告。 (objReport.DefaultAutoPrint = 0在這兩種情況下)

我唯一的想法是調用此方法的代碼的位置是在與票據本身的位置不同的位置。

,我試圖打印到我的機器上的網絡打印機裏安裝的打印機,我運行Windows 7 IIS 6.1

有什麼想法?

編輯:

這裏有一個想法......如果我跑一個地方作爲一個單元測試,並通過即時消息是通過IIS中運行的Web應用程序運行的其他,是有用戶ID的區別和用戶訪問默認打印機?

編輯:

所以我將我的本地ASP,IUSR和系統用戶到打印機的安全性,並允許他們打印...沒有骰子。所以我檢查了EVERYONE用戶,它被設置爲訪問並且沒有用戶被拒絕...所以我認爲這有點殺死了這種推理。

編輯:

我改變了這個帖子的名字,因爲我不再想這個問題是AJAX相關的,因爲如果我嘗試做同樣的過程在代碼bebehind從後回,而不是從運行它阿賈克斯呼籲我仍然得到同樣的問題。

回答

1

帕特里克,對我來說,這是一個已知的水晶報告問題,通過IIS打印來自正在運行的應用程序的某個報告。

我之前也遇到過同樣的問題,當我們搜索這個問題時,我們得到了以下結果:

Report to be generated, exported, and then to be downloaded to client machine, 
so user can print it locally (say, report will be exported as PDf file, 
user can use print option of PDF reader). 
+0

如果此解決方案符合您的要求,我可以發佈需要導出報告的代碼。 – Ahmed 2010-12-15 14:57:06

相關問題