2012-02-14 10 views
5

जो मैंने पढ़ा है, रिपोर्टवायर प्रिंट बटन Google क्रोम और फ़ायरफ़ॉक्स में काम नहीं करता है क्योंकि यह ActiveX नियंत्रण के साथ बनाया गया है जो केवल IE में काम करता है। इसलिए मैं रिपोर्ट के बाहर एएसपीनेट बटन बनाने की कोशिश कर रहा था और रिपोर्ट को प्रोग्रामिक रूप से प्रिंट कर रहा था, लेकिन यह दर्द हो रहा है और मैं सोच रहा था कि Google क्रोम में रिपोर्ट को प्रिंट करने के लिए एक आसान कामकाज है या नहीं।Google Chrome में रिपोर्टव्यूअर प्रिंट बटन

संपादित करें/अपडेट करें: मुझे यह रिपोर्टव्यूवर प्रिंट बटन मिला है जो फ़ायरफ़ॉक्स और Google क्रोम के लिए काम करना है, ऐसा लगता है कि यह फ़ायरफ़ॉक्स के लिए काम कर रहा है लेकिन यह मुझे Google क्रोम में एक खाली पृष्ठ प्रिंट करता है। http://cafalse.blogspot.com/2011/04/reportviewer-print-button-for-firefox.html

उत्तर

1

यदि आपको पृष्ठ पर कहीं भी अपना बटन जोड़ने में कोई बात नहीं है। यह केवल तभी काम करता है जब रिपोर्ट उत्पन्न करने का आपका तरीका मेरे जैसा दिखता है। असल में मैं रिपोर्ट लेता हूं, इसे बाइट्स में प्रस्तुत करता हूं और उन बाइट्स को पीडीएफ प्रारूप में प्रतिक्रिया के रूप में भेजता हूं। यह फ़ाइल को पीडीएफ के रूप में खोल देगा जो क्रोम समर्थन जैसे अधिकांश ब्राउज़र। इसके लिए उपयोगकर्ता को अतिरिक्त कदम उठाने और प्रिंट पर क्लिक करने की आवश्यकता होती है।

ServerReport sr = new ServerReport(); 
ReportViewer.ProcessingMode = ProcessingMode.Remote; 
sr = ReportViewer.ServerReport; 
sr.ReportServerUrl = new Uri("http://****/****"); 
sr.ReportPath = "/Report"; 
ReportParameter paramDateFrom = new ReportParameter(); 
ReportParameter paramDateTo = new ReportParameter(); 
ReportParameter paramState = new ReportParameter(); 
ReportParameter paramCounty = new ReportParameter(); 
string dateFrom = TB_Date_From.Text; 
string dateTo = TB_Date_To.Text; 
string state = DDL_State.SelectedValue; 
string county = DDL_County.SelectedValue; 
paramDateFrom.Name = "DateFrom"; 
paramDateFrom.Values.Add((dateFrom != "" ? dateFrom : null)); 
paramDateTo.Name = "DateTo"; 
paramDateTo.Values.Add((dateTo != "" ? dateTo : null)); 
paramState.Name = "State"; 
paramState.Values.Add((state != "" ? Common_Functions.resolveStateID(state) : null)); 
paramCounty.Name = "County"; 
paramCounty.Values.Add((county != "" ? Common_Functions.resolveCountyID(county) : null)); 
ReportViewer.ServerReport.SetParameters(new ReportParameter[] { paramDateFrom, paramDateTo, paramState, paramCounty }); 
// DUMP PDF TO BROWSER 
Warning[] warnings; 
string[] streamids; 
string mimeType, encoding, extension; 
byte[] bytes = ReportViewer.ServerReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings); 
Response.Buffer = true; 
Response.Clear(); 
Response.ContentType = mimeType; 
Response.AddHeader("content-disposition", "inline; filename=myfile." + extension); 
Response.BinaryWrite(bytes); 
string pdfPath = Server.MapPath("~") + "pdf." + extension; 
FileStream pdfFile = new FileStream(pdfPath, FileMode.Create); 
pdfFile.Write(bytes, 0, bytes.Length); 
pdfFile.Close(); 
Response.Flush(); 
Response.End(); 
संबंधित मुद्दे