Page 1 of 1

How to print with out preview

Posted: Wed Oct 17, 2012 6:37 am
by lyai
Hello everyone
I'm using mvc product, I would like to directly call report printing function without the need to pass the first preview, please

tell me whether this method is feasible, and if possible how to encode
my code is thid

StiReport report = new StiReport();
report.Load("MyReport.mrt");
report.RegData(myDataSet);
report.Render();
PrinterSettings printerSettings = new PrinterSettings();
printerSettings.Copies = 1;
printerSettings.FromPage = 1;
printerSettings.ToPage = report.RenderedPages.Count;
report.Print(false, printerSettings);

in the IDE DEBUG it work ok but publish in iis is donot work please give me help
Thank you

Re: How to print with out preview

Posted: Wed Oct 17, 2012 12:01 pm
by Alex K.
Hello,

You could use one of the next examples of printing to PDF or HTML. In both cases the report will be rendered and sent to print automatically.

Code: Select all

// Print to PDF
public ActionResult Print()
{
StiReport report = new StiReport();
report.Load("D:\\ReportXmlAir.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();
}


// Print to HTML
public ActionResult Print()
{
StiReport report = new StiReport();
report.Load("D:\\ReportXmlAir.mrt");
report.Render(false);

MemoryStream stream = new MemoryStream();

StiHtmlExportSettings settings = new StiHtmlExportSettings();
StiHtmlExportService service = new StiHtmlExportService();
service.ExportHtml(report, stream, settings);

StreamReader reader = new StreamReader(stream);
stream.Position = 0;
string html = reader.ReadToEnd();
html = html.Replace("", "");

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();
}
Thank you.