在asp.net的Web应用程序中不显示PrintDialog()的情况下打印RDLC报告?

时间:2018-10-22 06:37:02

标签: c# asp.net vb.net printdocument

如何通过单击一个按钮直接打印RDLC报告的内容而不显示带有C#/ VB的asp.net中使用客户端默认打印机的预览(页面大小将与报告的页面大小相同,并且该问题适用于Web应用程序)< / p>

我尝试解决此问题,但是我不知道如何在客户端使用打印机进行打印。  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);
        }
    }
  1. 现在我在函数PrintPDF()中添加了什么?

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

0 个答案:

没有答案