2011-04-01 23 views
5

WinForms uygulamasından Reporting Services'ten oluşturulan bir PDF görüntülemek istiyorum. Raporlama Hizmetlerinden PDF görüntüleme

Aşağıdaki çalıştı:

sonra sırayla beni açabilir veya bu dosyayı kaydetmek isteyen bir tarayıcı başlattı
Uri uri = new Uri("http://myReportServer?MyReport&rs%3aCommand=Render&rs:Format=pdf"); 
System.Diagnostics.Process.Start(uri.ToString()); 

.

İdeal olarak sadece dosyayı tarayıcıda veya PDF görüntüleyicide görüntülemek istiyorum. Sorun, kullanıcıların istemediği tarayıcıyı ve ardından PDF görüntüleyicisini açmak zorundayım.

Sadece URL kullanarak bunu yapmak için basit bir yolu var mı?

Diğer seçeneğim sadece C# kodu yazmaktır. bazı örnekler burada vardır: Burada

http://geekswithblogs.net/bsherwin/archive/2007/04/29/112094.aspx

ve: Sen diske PDF indirmek ve daha sonra göstermek için Process.Start kullanabilirsiniz

http://www.codeproject.com/KB/reporting-services/PDFUsingSQLRepServices.aspx

cevap

4

.

bu örneğe göz atın:

 Uri uriDownload = new Uri("http://myReportServer?MyReport&rs%3aCommand=Render&rs:Format=pdf"); 
     string strSavePath = @"C:\test\test123.pdf"; 

     System.Net.WebClient wcli = new System.Net.WebClient(); 
     wcli.DownloadFile(uriDownload, strSavePath); 
     System.Diagnostics.Process.Start(strSavePath); 

GÜNCELLEME: varsayılan olarak çalışmazsa

, wcli.DownloadFile() önce bu eklemeyi deneyin:

 wcli.Credentials = new NetworkCredential("username", "password", "domain"); 
     wcli.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
+0

Teşekkürler, iyi görünüyor, ancak bunu denedim ve şu hatayı aldım 'Uzak sunucu bir hata verdi: (401) Yetkisiz.' Orijinal kodumla hiç hata alamadım. Yapmam gereken bir şey var mı? – openshac

+0

@openshac: Cevabımı güncelledim, bir bak. – HABJAN

+0

@HABAN, maalesef tüm kullanıcı şifrelerine erişimim yok. Entegre Kimlik Doğrulamayı kullandığımdan emin olmak için yapabileceğim bir şey var mı? – openshac

İlgili konular