Я отображал отчеты SSRS без использования элемента управления ReportViewer, последний раз с использованием LocalReports.Вы можете в коде настроить ReportViewer, заставить его сгенерировать PDF и получить поток байтов PDF.Я остановился на этом и представил PDF на экран, поскольку это был мой набор требований, но я уверен, что гораздо проще найти способ распечатать поток байтов файла PDF, чем справиться с чем-либоReportViewer.
Вот как получить LocalReport для байтового массива PDF-файла:
LocalReport lclRpt = new LocalReport();
//Do Stuff like bind DataSources, ReportParameters, SubReportProcessing Delegates, etc.
string strMIMEType = String.Empty;
string strEncoding = String.Empty;
string strFileNameExtension = string.Empty;
string[] strarrStreams;
Warning[] warnLocalReportWarnings;
byte[] bytarrPDF = lclRpt.Render("PDF", "<DeviceInfo><StartPage>0</StartPage></DeviceInfo>", out strMIMEType, out strEncoding, out strFileNameExtension, out strarrStreams, out warnLocalReportWarnings);
return bytarrPDF;
Я не на 100% о том, как выполнить ваш последний шаг, возможно, потребуетсяУтилита .pdf или может быть способ сделать это прямо из кода.