Как отправить отчет в формате PDF по FTP

27.02.2017

FastReport .Net позволяет экспортировать отчеты в различные форматы, отправлять их по Email, а также через FTP. В этой статье я хочу остановить свое внимание на передаче отчетов на сервер посредством FTP. Нужно отметить, что не очень-то удобно запускать каждый отчет и вручную выполнять отправку через FTP. Что если нужно отправить большое количество отчетов на сервер?

Какие пути решения проблемы:

  1. Отправить все файлы отчетов разом, при помощи файлового менеджера с FTP соединением. Но предварительно все отчеты придется экспортировать в нужный формат;
  2. Организовать экспорт и отправку отчета средствами FastReports, но сделать это в коде приложения.

Очевидно, во второй вариант экономит время на экспорте отчета в нужный формат. Кроме того, можно полностью автоматизировать этот процесс. Например, выкладывать все отчеты на сервер по расписанию или одним нажатием на кнопку.

Я покажу пример, на котором вы убедитесь в простоте такой операции, как отправка отчета через FTP из кода приложения.

Создаем приложение WindowsForms. На форме размещаем одну кнопку.

В using добавляем библиотеки:

1
2
3
using FastReport;
using FastReport.Export;
using FastReport.Utils;

 Для обработчика нажатия кнопки добавим код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 private void button1_Click(object sender, EventArgs e)
 {
 Report report1 = new Report(); //Create new report
 FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport(); //Create pdf export object
 report1.Load(Environment.CurrentDirectory+"\\text.frx"); //Load report
 report1.Prepare(); //Prepare report
 
 FastReport.Cloud.StorageClient.Ftp.FtpStorageClient ftp = new FastReport.Cloud.StorageClient.Ftp.FtpStorageClient(); //Create ftp client
 //ftp connection settings
 ftp.Server = "78.47.131.251/Reports";
 ftp.Username = "user";
 ftp.Password = "password";
 ftp.SaveReport(report1, pdf); //Send report
 }

 В начале мы создаем экземпляр объекта отчета. Затем, создаем объект экспорта в PDF. Теперь загружаем отчет и обязательно выполняем его построение (Prepare). Для работы с FTP создаем клиент. Нужно задать всего три свойства: сервер, пользователь и пароль. Не забываем, что нужно указать путь к нужной папке, иначе отчеты будут сыпаться прямо в корень. Наконец, отправляем отчет на сервер. В качестве параметров передаем сам отчет и экспорт в PDF. FastReport сам сделает экспорт отчета и отправит по FTP готовый файл *.pdf.

Запускаем приложение, нажимаем кнопку и проверяем наличие файла на сервере:

 

Используя такую несложную процедуру, можно отправлять множество отчетов в любом из доступных форматов, например, HTML. Таким образом, вы разрабатываете отчеты на локальном компьютере и выкладываете их на свой веб-сайт.

 

 

.NET .NET FastReport FastReport PDF PDF Экспорты Экспорты
24 апреля 2025

Как открыть и конвертировать файл FP3 с помощью МоиОтчеты Конвертер

Рассказываем о формате FP3, который используется для готовых отчётов в бизнес-приложениях, и о возможности конвертировать такие файлы в различные форматы с помощью МоиОтчеты Конвертер.
21 апреля 2025

Как работают RFID-метки в FastReport VCL

В этой статье мы рассмотрим принцип работы RFID-меток с новым объектом TfrxDeviceCommand в FastReport VCL с релизом 2025.2.
21 апреля 2025

Работа с компонентом TfrShellTreeView в FastReport VCL

В данной статье мы рассмотрим компонент TfrShellTreeView. Он предназначен для отображения элементов файловой системы и частично является аналогом компонентов TDirectoryListBox, TDirectoryOutline и TShellTreeView.