Создание PDF файла при нажатии на кнопку в браузере

11.04.2013

При совместном использовании FastReport .Net с фреймворком ASP.Net MVC существует возможность простого формирования файла в нужном выходном формате при нажатии на кнопку формы.

Добавляем следующий код во View:

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

GetFile - имя обработчика результатов сабмита формы в контроллере, Home - имя контроллера, в данном случае файл контроллера HomeController.cs

Добавляем пространство имен в контроллере:

using FastReport.Export.Pdf;

Добавляем нужный метод в контроллер:

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

            // привязка данных
            System.Data.DataSet dataSet = new System.Data.DataSet();
            dataSet.ReadXml(report_path + "nwind.xml");
            webReport.Report.RegisterData(dataSet, "NorthWind");
           
            // загружаем нужный файл отчета
            webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx");

            // строим отчет
            webReport.Report.Prepare();

            // сохраняем в нужном формате в поток
            Stream stream = new MemoryStream();
            webReport.Report.Export(new PDFExport(), stream);
            stream.Position = 0;

            // возвращаем результат в браузер
            return File(stream, "application/zip", "report.pdf");
        }

Привязка данных и загрузка файла отчета показаны для примера. Привязка к данным может быть выполнена непосредственно в самом файле отчета из дизайнера.

Если вам необходим другой формат, то нужно добавить соответствующий uses и вызвать нужный конструктор в строке экспорта.

Например для формата Excel 2007 нужны строки:
using FastReport.Export.OoXML;
...
webReport.Report.Export(new Excel2007Export(), stream);
...
return File(stream, "application/xlsx", "report.xlsx");

.NET .NET FastReport FastReport MVC MVC Экспорты Экспорты
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»