是的。在我嘗試同樣的問題之前。但之後,我得到了解決方案。最主要的是,我們無法直接從客戶機打印報告。我發現了兩種在客戶機中打印報告的方法。一個是通過ActiveX控件。客戶端不知道,如何在他們的機器上安裝ActiveX控件,主要是他們不想要那些令人討厭的東西。所以我發現了我們可以通過PDF文件打印的另一種方式。現在所有人都在他們的機器上安裝了Adobe PDF閱讀器。所以我瀏覽過,如何直接打印pdf而不用保存在客戶端機器上。最後我得到了解決方案。步驟如下:
用C#編寫的示例代碼。 i)。)))))))))))))(
i)。轉換報告到內存流:
string reportType = "PDF";
string mimeType;
string encoding;
string fileNameExtension;
//The DeviceInfo settings should be changed based on the reportType
////http://msdn2.microsoft.com/en-us/library/ms155397.aspx
string deviceInfo = "<DeviceInfo>" + " <OutputFormat>PDF</OutputFormat>" + " <PageWidth>8.27in</PageWidth>" + " <PageHeight>11.69in</PageHeight>" + " <MarginTop>0in</MarginTop>" + " <MarginLeft>0in</MarginLeft>" + " <MarginRight>0in</MarginRight>" + " <MarginBottom>0in</MarginBottom>" + "</DeviceInfo>";
Warning[] warnings;
string[] streams;
byte[] renderedBytes;
//Render the report
renderedBytes = _rptViewer.LocalReport.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
Stream mystream = new MemoryStream(renderedBytes);
謝謝您的回覆。實際上,無論我做什麼,我都可以得到相同的結果,安裝,不要安裝,甚至只是在顯示對話框時暫停一會兒......它們都會使瀏覽器中的選項卡崩潰,並且網站消失,然後瀏覽器「恢復」一個空白標籤。這是在IE中必須是我使用的瀏覽器(每個客戶端) – rogdawg 2010-10-08 13:48:53
試試這個: 轉到Program Files \ Microsoft SQL Server \ MSSQL.x \ Reporting Services \ ReportServer \ bin,並將這些文件複製到Windows \ Downloaded程序文件(使用命令行窗口,CMD): - RSClientPrint.dll - rsclientprint.inf - RsClientPrint_1028.rll - RsClientPrint_1031.rll - RsClientPrint_1033.rll - RsClientPrint_1036.rll - RsClientPrint_1040.rll - RsClientPrint_1041.rll - RsClientPrint_1042.rll - RsClientPrint_2052.rll - RsClientPrint_3082.rll 然後,註冊RSClientPrint.dll(regsvr32 [路徑] RSClientPrint.dll)。如果您在那裏找不到這些文件,請解壓縮rsclientprint.cab。 – 2010-10-08 14:45:53
感謝您關注此事。我仍然得到一個錯誤...這次,我選擇安裝ActiveX的東西。它遇到了一個問題,問我是否想要調試問題(使用調試器),我選擇了否,並且它以與之前相同的方式崩潰了瀏覽器(選項卡)。我想我應該停止在報告上打印。我的客戶可能無法下載ActiveX控件來打印。感謝您的幫助。我會告訴他們先導出爲excel(或PDF),然後打印。非常感謝您的指導。 – rogdawg 2010-10-08 20:23:08