查看来自 SSRS / RDL 的 PDF
本文关键字:RDL PDF SSRS | 更新日期: 2023-09-27 18:31:25
我想访问RDL以获取PDF格式的报告。 我有
static void Main()
{
string pdfOutputFIleName = @"C:'Development'testoutputAsPdf.pdf";
var urlAsPdf = @"http://serverName/ReportServer/Reserved.ReportViewerWebControl.axd?ExecutionID=xxx&Culture=1033&CultureOverrides=False&UICulture=9&UICultureOverrides=False&ReportStack=1&ControlID=yyy&OpType=Export&FileName=Bug+Status&ContentDisposition=OnlyHtmlInline&Format=PDF";
var client = new WebClient();
client.UseDefaultCredentials = true;
//client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.Headers.Add("Content-Type", "application/pdf");
Process(client, urlAsPdf, pdfOutputFIleName);
Console.Read();
}
private static void Process(WebClient client, string url, string outputFileName)
{
Stream data = client.OpenRead(url);
using (var reader = new StreamReader(data))
{
string output = reader.ReadToEnd();
using (Stream s = File.Create(outputFileName))
{
var writer = new StreamWriter(s);
writer.Write(output);
Console.WriteLine(output);
}
}
}
该 URL 在我的浏览器中工作正常。 程序运行。 当我打开PDF时,我在Adobe中收到错误:
打开此文档时出错。 文件已损坏,并且 无法修复。
由于您已经指定了输出文件名和要从中读取的 URL,因此也许您可以使用 WebClient.DownloadFile(string address, string filename)
成员。
private static void Process(WebClient client, string url, string outputFileName)
{
client.DownloadFile(url, outputFileName);
}