Страница 1 из 1
Печать отчёта в MVC 3(4) на принтере клиента без показа окна
Добавлено: 16 мар 2013, 02:23
DTri
Доброго времени суточек!!!
Поискав в интернете пути решения и не найдя правильного, решили посмотреть ваш компонент для MVC если он сможет решить задачи текущего проекта, то я приобрету его, а именно интересует:
Печать отчёта в MVC 3(4) проекте из браузера на принтере клиента без показа окна предпросмотра и окна диалога принтера на принтере по умолчанию клиента.
Возможно ли это с помощью Вашего компонента? При условии выполнения всех требований на клиенте, а именно, если это GoogleChrome, то он запускается с ключами, которые блокирую показ окна диалога и привью
..\Google\Chrome\Application\chrome.exe --kiosk --disable-print-preview --disable-print-preview
Re: Печать отчёта в MVC 3(4) на принтере клиента без показа
Добавлено: 18 мар 2013, 14:35
Vladimir
Здравствуйте,
Печать без показа окна вьювера возможна. Для этого можно использовать приведённый ниже код:
Печать в PDF:
Код: Выделить всё
public ActionResult Print()
{
StiReport report = new StiReport();
report.Load(Server.MapPath("~/Content/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();
}
Печать в HTML:
Код: Выделить всё
public ActionResult Print()
{
StiReport report = new StiReport();
report.Load(Server.MapPath("~/Content/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();
}
Указанный выше код отправляет построенный и экспортированный отчёт на печать PDF плагину либо прямо на принтер, используя Javascript.
Вы можете протестировать Trial версию нашего продукта перед покупкой.
Спасибо.