Программный вывод отчета описан в этой статье, но для вывода на печать оптимальнее всего получить отчет в формате EMF. Xml для описание экспорта будет выглядеть следующим образом:
<DeviceInfo>
<SimplePageHeaders>True</SimplePageHeaders>
<OutputFormat>EMF</OutputFormat>
</DeviceInfo>
Полный текст для получения результата отчета будет выглядеть следующим образом:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Microsoft.Reporting.WinForms.LocalReport report = new Microsoft.Reporting.WinForms.LocalReport();
report.ReportPath = "Report1.rdlc";
string MimeType;
string Encoding;
string FileNameExt;
string[] streams;
Microsoft.Reporting.WinForms.Warning[] aWarn;
string deviceInfo =
"<DeviceInfo>" +
"<SimplePageHeaders>True</SimplePageHeaders>" +
"<OutputFormat>EMF</OutputFormat>" +
"</DeviceInfo>";
byte[] aReport = report.Render("IMAGE", deviceInfo, out MimeType, out Encoding, out FileNameExt, out streams, out aWarn);
MemoryStream memImage = new MemoryStream(aReport);
Image imgReport = Image.FromStream(memImage);
e.Graphics.DrawImage(imgReport, 0, 40);
}