Page 1 of 1
Print Directly for the client
Posted: Wed May 25, 2016 5:41 am
by beginner
I'm using Stimulsoft in ASP.NET MVC 5 and I like to show print dialog to the user.
On the client side I only have an `id` and report is not loaded. I'd like to either show directly print dialog or show `print preview` to the user.
Please guide me with this requirement.
Re: Print Directly for the client
Posted: Wed May 25, 2016 7:08 am
by Alex K.
Hello,
Please try to use the MVCViewer for the showing report in which present several print dialog option.
Thank you.
Re: Print Directly for the client
Posted: Wed May 25, 2016 8:05 am
by beginner
Hi Aleksey,
I don't want to show him a report, a print preview in another window maybe, but not a full viewer for sure.
Thanks for your replay.
Re: Print Directly for the client
Posted: Wed May 25, 2016 9:58 am
by Alex K.
Hello,
Please try to use the export to in HTML or PDF and print.
For example:
Code: Select all
public ActionResult PrintHTML()
{
StiReport report = new StiReport();
report.Load("D:\\MyReport.mrt");
report.Render(false);
MemoryStream stream = new MemoryStream();
StiHtmlExportSettings settings = new StiHtmlExportSettings();
settings.AddPageBreaks = true;
StiHtmlExportService service = new StiHtmlExportService();
service.ExportHtml(report, stream, settings);
StreamReader reader = new StreamReader(stream);
stream.Position = 0;
string html = reader.ReadToEnd();
html = html.Replace("<body>", "<body onload='window.print();'>");
this.Response.Buffer = true;
this.Response.ClearContent();
this.Response.ClearHeaders();
this.Response.ContentType = "text/html";
//this.Response.AddHeader("Content-Disposition", "attachment; filename=\"report.html\"");
this.Response.ContentEncoding = Encoding.UTF8;
this.Response.AddHeader("Content-Length", html.Length.ToString());
this.Response.Write(html);
this.Response.End();
return View();
}
public ActionResult PrintPDF()
{
StiReport report = new StiReport();
report.Load("D:\\MyReport.mrt");
report.Render(false);
MemoryStream stream = new MemoryStream();
StiPdfExportSettings settings = new StiPdfExportSettings();
settings.AutoPrintMode = StiPdfAutoPrintMode.Dialog;
StiPdfExportService service = new StiPdfExportService();
service.ExportPdf(report, stream, settings);
this.Response.Buffer = true;
this.Response.ClearContent();
this.Response.ClearHeaders();
this.Response.ContentType = "application/pdf";
//this.Response.AddHeader("Content-Disposition", "attachment; filename=\"report.pdf\"");
this.Response.ContentEncoding = Encoding.UTF8;
this.Response.AddHeader("Content-Length", stream.Length.ToString());
this.Response.BinaryWrite(stream.ToArray());
this.Response.End();
return View();
}
Thank you.