在 ASP.NET 中以 PDF 格式呈现 SSRS 报告

Viv*_*vek 0 c# pdf asp.net reporting-services ssrs-2008

我在服务器上部署了一些 SSRS 报告。现在我正在从我的 ASP.NET 应用程序访问这些报告。经过一些研究,我发现 ReportViewer 的默认打印按钮在 Chrome 或除 Internet Explorer 之外的任何网络浏览器中都看不到。所以我只想以 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();
Run Code Online (Sandbox Code Playgroud)

但它不起作用。报告正在呈现,但不是 PDF 格式。如果有人把打印出来,像 Tablix、TextBox 这样的所有字段的对齐方式都没有正确对齐。有谁知道我该怎么做?

Viv*_*vek 5

幸运的是,经过如此多的尝试,已经找到了解决方案。这就是我所做的:

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);
Run Code Online (Sandbox Code Playgroud)

它对我有用。