Как отправить отчет в формате 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. Таким образом, вы разрабатываете отчеты на локальном компьютере и выкладываете их на свой веб-сайт.

 

 

1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.
28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.