Create a PDF file on button press in browser

2013-04-11

When you use the FastReport .Net together ASP.Net MVC framework you have easy method for creating file in any supported format on button press in HTML form.

Add next code in View:

 @using (Html.BeginForm("GetFile", "Home"))
 {
         <input id="pdf" type="submit" value="Export to PDF" />
 }

GetFile - name of controller handler, Home - name of controller (HomeController.cs for example)

Add name space in controller:

using FastReport.Export.Pdf;

Add method GetFile in controller:

        public FileResult GetFile()
        {
            WebReport webReport = new WebReport();

            // bind data
            System.Data.DataSet dataSet = new System.Data.DataSet();
            dataSet.ReadXml(report_path + "nwind.xml");
            webReport.Report.RegisterData(dataSet, "NorthWind");
           
            // load report
            webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx");

            // prepare report
            webReport.Report.Prepare();

            // save file in stream
            Stream stream = new MemoryStream();
            webReport.Report.Export(new PDFExport(), stream);
            stream.Position = 0;

            // return stream in browser
            return File(stream, "application/zip", "report.pdf");
        }

 

Example for Excel 2007:

using FastReport.Export.OoXML;
...
webReport.Report.Export(new Excel2007Export(), stream);
...
return File(stream, "application/xlsx", "report.xlsx");

 

.NET Export FastReport ASP.NET MVC
July 04, 2025

How to Transition from FastReport Publisher to the Corporate Server

In this material, we will discuss the reasons for replacing Publisher with the Corporate Server along with a migration plan.
June 27, 2025

Publisher — the Ideal Solution for Small and Medium-Sized Businesses

In this article, we will take a detailed look at how these services help address different user needs so that you can choose the solution that best fits your requirements.
June 05, 2025

FastReport License Agreement: Translation from Legalese into Human

A plain-language explanation of the key restrictions in the FastReport license agreement, along with an invitation to discuss custom usage and partnership opportunities.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.