У нас есть ASP.Net проект в котором ранее использовался Stimulsoft.Report.Web 2013.1.16
Запуск страницы там происходил так:
Код: Выделить всё
protected void Page_Load(object sender, EventArgs e)
{
stiViewer.Report = GetReport();
stiViewer.PrintDestination = Stimulsoft.Report.Web.StiPrintDestination.Pdf;
stiViewer.PrintToPdf();
}
Это было сделано для того, чтобы пользователь сразу после загрузки отчета имел на экране диалог печати.
Сейчас проект переделан под Stimulsoft.Report.Web 2021.4.4
Такого метода у вьюера уже нет. И теперь отчет появляется в браузере и просто ждет реакции пользователя.
Юзер недоволен тем, что ему приходится лишний раз ворочать тяжелую мышь и нажимать сначала меню Print, потом Print Pdf, а потом еще и Печать в окне диалога.
Есть ли возможность вываливать диалог печати кодом, как было ранее?
И второй вопрос по той же теме.
Я попытался воспользоваться методой описаной у вас ч\з StiReportResponse.
Т.е. :
Код: Выделить всё
protected void ButtonPrintHtml_Click(object sender, EventArgs e)
{
var report = this.GetReport();
StiReportResponse.PrintAsHtml(report);
//StiReportResponse.PrintAsPdf(rpt);
}
Диалог печати сопровождается появлением на заднем фоне уродливой страницы с отчетом вместо того, чтобы появляться во всплывающем окне на фоне текущей страницы. Уродливость ее в том, что она смещена влево и по сути страница не нужна, т.к. отчет хорошо виден в окне диалога печати. После печати пользователю нужно нажимать в браузере Back, тобы вернуться на исходную страницу, что его сильно утомляет.
StiReportResponse.PrintAsPdf(rpt) я тоже пробовал. Вылядит аналогично.
Можно ли избежать этого? Если нельзя, то можно ли печатать без диалога печати с параметрами по умолчанию? Или задать параметры печати кодом.
Другими словами минимизировать участие юзера в процессе печати.
Использовались: Windows 10, VS 2019, Stimulsoft.Report.Web 2021.4.4.0, Microsoft Edge 99.0.