代码之家  ›  专栏  ›  技术社区  ›  Prashant Pimpale Dila Gurung

Asp.Net核心:通过客户端浏览器的URL下载PDF格式的SSRS报告

  •  0
  • Prashant Pimpale Dila Gurung  · 技术社区  · 5 年前

    我有一个SSRS报告URL,如果我在浏览器中输入该URL,它会显示带有打印和保存选项的SSRS报告,如:

    enter image description here

    我想要的是,上面有一个按钮 .cshtml 所以点击那个按钮我需要在客户端浏览器上下载报告。

    网址: http://xyz/ReportS/report/UAT/SampleReport_V1?Srno=X123

    我尝试的是:

    通过设置 &rs:Format=PDF 并从Asp.Net核心应用程序,但它生成了PDF,但格式已损坏。

    代码:

    public void Download_SSRSInPDF()
    {
        string URL = "http://xyz/ReportS/report/UAT/SampleReport_V1";
        string Command = "Render";
        string Format = "PDF";
        URL = URL + "?SrNo=X123&rs:Command=" + Command + "&rs:Format=" + Format;
        System.Net.HttpWebRequest Req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(URL);
    
        Req.Credentials = System.Net.CredentialCache.DefaultCredentials;
        Req.Method = "GET";
        string path = @"E:\New folder\Test.pdf";
        System.Net.WebResponse objResponse = Req.GetResponse();
        System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create);
        System.IO.Stream stream = objResponse.GetResponseStream();
        byte[] buf = new byte[1024];
        int len = stream.Read(buf, 0, 1024);
    
        while (len > 0)
        {
            fs.Write(buf, 0, len);
            len = stream.Read(buf, 0, 1024);
        }
        stream.Close();
        fs.Close();
    }
    

    怎么做呢Asp.Net核心?

    编辑: :

    http://server-name/ReportServer/reportexecution2005.asmx
    

    但无法继续进行,有人能告诉我文件吗?

    0 回复  |  直到 5 年前
        1
  •  2
  •   Wolfgang Kais    5 年前

    如果您想要一个简单的URL来下载PDF格式的报告,请不要将参数添加到web门户URL,而是将其添加到指向web服务的URL:

    string URL = "http://xyz/reportserver/?/UAT/SampleReport_V1";
    string Command = "Render";
    string Format = "PDF";
    URL = URL + "&SrNo=X123&rs:Command=" + Command + "&rs:Format=" + Format;
    
        2
  •  3
  •   Nick Albrecht    5 年前

    设置好后,报表执行实例上有一些呈现方法,可以很容易地将报表获取为PDF格式。

        3
  •  1
  •   Love Pandey    5 年前

    pdf 使用默认的代码转换器。我们不使用此方法将报表转换为 pdf格式 . 如果你想问更多的选择,这是漫长的,但不难做到。你可以用 WKHTMLtopdf 方法将html转换为 pdf格式 Asp.netcore 和他一起工作很好 wkhtmltopdf 将html页转换为pdf。