Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Reporting > Telerik Reporting > Printing Reports in MVC

Not answered Printing Reports in MVC

Feed from this thread
  • Eric Moore avatar

    Posted on May 3, 2012 (permalink)

    I had been struggling for a few days to try and figure out how to do this. I found a few solutions that were partial answers that finally lead me to this. This will print directly to the default printer without stopping for directions. It doesn't require a special view or partial view. It's just clean. I have some cleanup to do on it, but so far it works quite well. Hopefully someone else finds it useful!

    I'm using a custom Knockoutjs grid to start the code
    @Html.Hidden("Report", Url.Action("Reports"))
    <script id="OHSTemplate" type="text/html">
      <tr>
          <td class="formno">${formNo}</td>
          <td class="name">${ name }</td>
          <td class="online">-</td>
          <td data-bind="click: $parent.PrintCurrent.bind($data, fileName)" class="print"></td>
      </tr>
    </script>
     
     //This is Javascript
    PrintCurrent: function (file) {
     
                var Url, d;
     
                Url = $('#Report').val();
                d = { fileName: file };
                $.ajaxSettings.traditional = true;
                $.ajax({
                    type: "GET",
                    url: Url,
                    data: d,
                    contentType: "application/json;",
                    dataType: "json",
                    success: function (response) {
                        //response will give success or failure text (response.Result)
                    }
                });
                 
            }
     
     //This is c# in my controller
    public class Results
            {
                string result;
                public Results()
                {
                }
     
                public string Result
                {
                    get
                    {
                        return this.result;
                    }
                    set
                    {
                        this.result = value;
                    }
                }
            }
     
    public JsonResult Reports(string fileName)
            {
                if(fileName != null)
                {
     
                    Results results = new Results();
     
                    List<Report> reports = new List<Report>();
                    //Add each Telerik report you have that you'll be searching through
                    
                     
                    Report r = new Report();
                    r = (from c in reports
                                where c.Name == fileName
                                select c).FirstOrDefault();
                    //Configure Printer Settings
                    System.Drawing.Printing.PrinterSettings printerSettings = new System.Drawing.Printing.PrinterSettings();
     
                    if (printerSettings.CanDuplex)
                    {
                        printerSettings.Duplex = System.Drawing.Printing.Duplex.Default;
                    }
                    printerSettings.DefaultPageSettings.Color = false;
     
                    //Initialize ReportProcessor
                    Telerik.Reporting.Processing.ReportProcessor rp = new Telerik.Reporting.Processing.ReportProcessor();
     
                    //Print Report
                    try
                    {
                        rp.PrintReport(r, printerSettings);
     
                        results.Result = "Print Successful";
                    }
                    catch (Exception e)
                    {
                        results.Result = "Failed to print report because: " + e.InnerException;
                    }
     
                    return Json(results, JsonRequestBehavior.AllowGet);
                }
                 
                return null;
            }

    Reply

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Reporting > Telerik Reporting > Printing Reports in MVC
Related resources for "Printing Reports in MVC"

Features  |  Documentation  |  Demos  |  Telerik TV  |  Knowledge Base  |  Code Library  |  Step-by-step Tutorial  |  Blogs  |  Whitepaper  ]