簡體   English   中英

在ASP.NET中以PDF格式呈現SSRS報告

[英]Render SSRS report in PDF format in ASP.NET

我在服務器上部署了一些SSRS報告。 現在,我可以從ASP.NET應用程序訪問這些報告。 經過一番研究,我發現ReportViewer的默認打印按鈕在Chrome或Internet Explorer以外的任何Web瀏覽器中均不可見。 因此,我只想以PDF格式呈現報告,以便用戶無需保存文件即可將其打印出PDF格式。 這是我正在使用的代碼:

IReportServerCredentials irsc = DBConnection.NetworkCredentials();
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
List<ReportParameter> list = new List<ReportParameter>();
list.Add(new ReportParameter("ref_no", refNo));
ReportViewer1.ServerReport.SetParameters(list);
ReportViewer1.ServerReport.Render("PDF");
ReportViewer1.ServerReport.Refresh();

但是它不起作用。 報告正在呈現,但不是PDF格式。 而且,如果有人將打印件取出,則所有字段(如Tablix,TextBox)的對齊方式都不會正確對齊。 有人知道我該怎么做嗎?

幸運的是,經過多次嘗試,已經找到了解決方案。 這是我所做的:

IReportServerCredentials irsc = DBConnection.NetworkCredentials();
ReportViewer1.ServerReport.ReportServerCredentials = irsc;

List<ReportParameter> list = new List<ReportParameter>();
list.Add(new ReportParameter("ref_no", refNo));
ReportViewer1.ServerReport.SetParameters(list);
byte[] data = ReportViewer1.ServerReport.Render("pdf");
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline;filename=Manifest_Print.pdf");
Response.BinaryWrite(data);

它為我工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM