2010-04-23 26 views
2

我試圖成爲最具描述性的人物。將SSRS .RDL呈現爲PDF,然後將其打開

好的,因爲我以前從來沒有做過這樣的事情,所以我想最好在開始之前問一下,不要讓整個過程錯誤。

我們有一個必須從ASP.NET應用程序調用的報告,它可能是一個簡單的按鈕。通過代碼隱藏,我必須通過一個參數,呈現報告,並且不要將其保存到任何地方,只需將其打開爲.pdf文件,以便他可以保存或打印它。 所以,請給我鏈接或提示,我正在閱讀MSDN文檔...

如果您對其他技術有任何建議,至於報告,我想聽到它,但它已經從ASP.NET調用。

在此先感謝!

編輯:


現在我已經得到了報告以後,我只需要知道調用它的最好的形式給出。 它不能直接從URL完成,因爲它允許用戶保存或關閉PDF文件,這不是我想要的。

我開始認爲最好的形式給出實現這一目標將是以下幾點: 編程方式渲染PDF,並創建我的應用程序結構中的臨時文件夾.pdf文件,然後啓動一個新的線程來打開文件,然後等待用戶關閉它,然後刪除該文件,並且線程已死。

你們認爲什麼?你們是否有更好的選擇?

回答

2

如果您檢查編輯歷史,您會看到我完全改變了它。

再次,回答我的問題:

我認爲是最好的做這的形式給出:

  • 有在SQL Reporting Services報表服務器的報告;
  • 通過用.NET編寫的代碼呈現它,並捕獲一個字節數組作爲響應;
  • 將字節數組寫入Response.OutputStream;
  • 添加附件標題,以便該文件可作爲下載文件提供給用戶;

希望這可以幫助,如果有人必須這樣做。

9

那麼,如果報告在報告服務器上,最簡單的方法可能就是將用戶發送到一個能根據需要生成報告的URL。嘗試這樣的事情在你的瀏覽器地址欄,看看我的意思是:

http://SERVER_NAME/ReportServer/Pages/ReportViewer.aspx?%2fFOLDER_NAME%2fREPORT_NAME&rs:Command=Render&rs:Format=PDF&PARAMETER_NAME=VALUE 

詳情請參閱this knowledge base article on Report Server URLs。 編輯:啓動here on MSDN可能會有所幫助。

+0

+1是最好的選擇 - 只需在查詢字符串的報告參數中指定報告輸出格式即可。 – slugster 2010-04-24 01:43:03

+0

這將允許用戶保存或打開報告。但我想自動打開它,而不是讓用戶去做。 – Smur 2010-04-26 20:34:56

+0

作品完美!謝謝 – Crezzer7 2014-09-15 14:20:28