Crystalreport printing in asp.net Client-Server
<p>I am developing a web application 
where I had developed a crystal report.
It display the records but at the time of printing it says no printer are installed.</p>

<p>after googling I have come to know that it send the print command to the hosting server not in my client.
But I didn't get any perfect solve.
Here is my code</p>

<pre><code>    ReportDocument cryRpt = new ReportDocument();
    TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
    TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
    ConnectionInfo crConnectionInfo = new ConnectionInfo();
    Tables CrTables;
     SqlDataAdapter da3 = new SqlDataAdapter("select * from FlexiDetails where slno='" + TextBox1.Text + "'", con);
    DataSet ds3 = new DataSet();
    da3.Fill(ds3, "finalbill");
    cryRpt.Load(HttpContext.Current.Server.MapPath("rptFlexiReceipt2.rpt"));
    cryRpt.SetDataSource(ds3.Tables[0]);
    crConnectionInfo.ServerName = "200.200.150.100";
    crConnectionInfo.DatabaseName = "database";
    crConnectionInfo.UserID = "user";
    crConnectionInfo.Password = "password";
   CrTables = cryRpt.Database.Tables;
    foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
    {
        crtableLogoninfo = CrTable.LogOnInfo;
        crtableLogoninfo.ConnectionInfo = crConnectionInfo;
        CrTable.ApplyLogOnInfo(crtableLogoninfo);
    }

   // CrystalReportViewer1.ReportSource = cryRpt;
    System.Drawing.Printing.PrintDocument printDoc = new System.Drawing.Printing.PrintDocument();
    int i;
    int rawKind = 0;
    for (i = 0; i &lt; printDoc.PrinterSettings.PaperSizes.Count; i++)
    {
        if (printDoc.PrinterSettings.PaperSizes[i].PaperName == "10x6")
        {
            rawKind = (int)GetField(printDoc.PrinterSettings.PaperSizes[i], "kind");
        }
    }
    cryRpt.SetDataSource(ds3)
    cryRpt.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind;
    cryRpt.PrintToPrinter(1, true, 0, 0);
</code></pre>
