Печать отчета RDLC без отображения PrintDialog () в веб-приложении на asp.net? - PullRequest
0 голосов
/ 22 октября 2018

Как напечатать содержимое отчета RDLC напрямую, нажав одну кнопку, не показывая предварительный просмотр, используя стандартный принтер клиента в asp.net с C # / VB (размер страницы будет таким же, как размер страницы отчета, и этот вопрос для веб-приложения)

Я попытался решить ее, но я не знаю, как печатать на принтере на стороне клиента.1. Я беру содержимое средства просмотра отчетов, делаю из него PDF-файл и сохраняю его.Есть кнопка и средство просмотра отчетов:

    protected void Button1_Click(object sender, EventArgs e)
    {
        string savePath = AppDomain.CurrentDomain.BaseDirectory + "PDF\\Report" + Default.reportNumber + ".pdf";
        Default.reportNumber ++;

        if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "PDF\\Report1.pdf"))
        {
            Default.reportNumber = 2;
            savePath = AppDomain.CurrentDomain.BaseDirectory + "PDF\\Report1.pdf";
        }

        SavePDF(ReportViewer1, savePath);
        PrintPDF(savePath);

        File.Delete(savePath);
    }

    public void SavePDF(ReportViewer viewer, string savePath)
    {
        byte[] Bytes = viewer.LocalReport.Render(format: "PDF", deviceInfo: "");

        using (FileStream stream = new FileStream(savePath, FileMode.Create))
        {
            stream.Write(Bytes, 0, Bytes.Length);
        }
    }

Теперь, что я вставил в функцию PrintPDF ()?

private void PrintPDF(string savePath)
{
    //....?....
}
...