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 10, 2025

How to Build and Connect the Firebird Plugin in FastReport .NET

In this article, we will go through the process of building and connecting the Firebird plugin in FastReport .NET through the report designer and via code.
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.
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.