string outputPath = "C:\Temp\PdfReport.pdf";
ReportViewer reportViewer = new ReportViewer();
reportViewer.ServerReport serverReport = new ServerReport();
reportViewer.ServerReport.ReportPath = @"path/to/report";
reportViewer.ServerReport.ReportServerUrl = new Uri(@"http://...");
reportViewer.ProcessingMode = ProcessingMode.Local;
reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = new
System.Net.NetworkCredential(username, password, domain)
List<ReportParameter> parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("parameterName", "value"));
string mimeType;
string encoding;
string extension;
string[] streams;
Warning[] warnings;
byte[] pdfBytes= serverReport.Render("PDF", string.Empty, out mimeType,
out encoding, out extension, out streams, out warnings);
// save the file
using (FileStream fs = new FileStream(outputPath, FileMode.Create))
{
fs.Write(pdfBytes, 0, pdfBytes.Length);
fs.Close();
}
실제로 'ServerReport'에는 public 생성자가 없지만'LocalReport'는 (LocalReport를 많이 사용했습니다.) 잘못된 점이 있습니다. ReportViewer를 인스턴스화 한 다음 여기에서 ServerReport 객체를 사용할 수 있어야합니다. –
당신이 제출 한 내용은 가깝고 좋은 출발 이었지만 자격 증명을 쓰는 방법과 PDF에 실제로 파일을 쓰는 방법이 누락되었습니다. 도와 주셔서 감사합니다. – Ryan