Как экспортировать отчёт в PNG из FastReport VCL

21.09.2022

PNG

Ранее в статье про различные форматы графических изображений мы рассматривали BMP, JPEG, TIFF, GIF. Осталось обсудить последний самый распространенный формат - PNG. В настоящее время Portable Network Graphics (PNG) - один из самых известных и чаще всего применяемых форматов файла.

Почему же так вышло, что именно такой формат пользуется популярностью в мире? Всё просто. Широкий спектр цветов, гамма-коррекция, сохранение как с фоном, так и без него. Удобств действительно много, ведь PNG имеет способность сохранять информацию и не терять качество изображения. Чаще всего используется для просмотра, сжатия картинок и редактирования/создания графики.

PNG может открываться практически всеми возможными программами, поэтому в 1996 году PNG стал отличной альтернативой формату GIF (Graphics Interchange Format) и в некоторой степени, заменой значительно более сложного формата TIFF (Tagged Image File Format).

Изначально он имел название PBF (Portable Bitmap Format), но после улучшений спецификация была рассмотрена консорциумом W3C и одобрена в качестве оптимального сетевого формата.

PNG поддерживает три типа растровых изображений:

- полутоновое изображение (глубина цвета 16 бит);
- цветное индексированное изображение (глубина цвета 24 бит);
- полноцветное изображение (глубина цвета 48 бит).

Формат имеет много преимуществ по отношению к GIF формату. Приведу несколько примеров.

1) Может хранить графическую информацию в сжатом виде, независимо от того, сколько раз вы пересохранили его или оставили в промежуточном редактировании. Ваша работа гарантированно останется в том же качестве.
2) Позволяет включить в материал метаданные или же сохранить авторскую информацию.
3) PNG имеет совсем небольшой размер изображения.
4) Применяется открытый непатентованный алгоритм сжатия Deflate.

Программные продукты Fast Reports для работы в macOC, Linux и Windows имеют возможность конвертировать, создавать, сохранять и экспортировать изображения такого разрешения. В генераторе отчетов для Delphi можно сохранить документ даже в PNG формате.

Экспорт отчёта из предварительного просмотра

Допустим, что вы уже создали свой отчёт и запустили предпросмотр. Выбираем из окна экспортов формат PNG. Появится окно, в котором присутствуют настройки экспорта документа. Например, есть возможность сохранения всех страниц, текущей, на которой вы находитесь, или же указав конкретные страницы.

Экспорт в формат PNG  Экспорт в формат PNG

Подробное описание настроек экспорта в PNG.

Monochrome - изображения в оттенках черного;
Crop pages - обрезка страниц;
JPEG quality - настройка качества графического объекта (будет недоступна из-за особенности формата);
Resolution (dpi) - разрешение в точках на дюйм;
Open after export - автоматическое открытие документа сразу же после сохранения.

Также есть возможность сохранить файл в память компьютера, загрузить в облако, передать по электронной почте или же в FTP.

Как сохранить в PNG из кода Delphi / C++Builder / Lazarus?

procedure TForm1.Button1Click(Sender: TObject);
begin
 {Формируем отчёт. Перед экспортом отчёт необходимо обязательно сформировать}
 frxReport1.PrepareReport();
 {Устанавливаем диапазон экспортируемых страниц. По умолчанию экспортируются все страницы сформированного отчёта}
 frxGIFExport1.PageNumbers := '2-3';
 {Устанавливаем, нужно ли экспортировать каждую страницу в отдельный файл.}
 {К имени файла будет добавлено .N, где N - порядковый номер страницы}
 frxGIFExport1.SeparateFiles := True;
 {Устанавливаем, нужно ли экспортировать в чёрно-белое изображение}
 frxGIFExport1.Monochrome := False;
 {Устанавливаем, нужно ли обрезать пустые края}
 frxGIFExport1.CropImages := False;
 {Устанавливаем разрешение, точек/дюйм}
 frxGIFExport1.Resolution := 96;
 {Устанавливаем, нужно ли открывать результирующий файл после экспорта}
 frxGIFExport1.OpenAfterExport := False;
 {Устанавливаем, нужно ли отображать прогресс экспорта  (показывать, какая страница в данный момент экспортируется)}
 frxGIFExport1.ShowProgress := False;
 {Устанавливаем, нужно ли отображать окно диалога с настройками фильтра экспорта}
 frxGIFExport1.ShowDialog := False;
 {Устанавливаем имя результирующего файла.}
 {Обратите внимание на то, что если не установить имя файла и отключить показ диалогового окна фильтра экспорта,}
 {то всё равно будет отображен диалог выбора имени файла}
 frxGIFExport1.FileName := 'C:\Output\test.png';
 {Экспортируем отчёт}
 frxReport1.Export(frxPNGExport1);
end;

Сравнение размеров PNG c другими форматами

Пример отчёта с графическими изображениями

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

PNG - 26,7 КБ; BMP - 6,80 МБ; JPEG - 78,0 КБ; TIFF - 2,55 МБ; GIF - 20,9 КБ.

Можно заметить, что при экспорте формат PNG по размеру больше GIF. Так вышло по причине того, что при сохранении в PNG сохранилось изначальное разрешение, а GIF утратил небольшую часть качества.

Следовательно, PNG формат лучше применять при работе с графическими изображениями, а GIF - для анимаций.

Остальные форматы отлично подходят для других целей. Например:
- BMP наиболее эффективно использовать при сохранении только растровых изображений;
- JPEG используется для сохранения фотографий, email-графики и больших изображений, таких как, например, рекламные баннеры;
- TIFF применяется в процессе сканирования, а также распознавания текста. Зачастую, данные файлы формата используют при передаче факсов.

Подведем итоги. Экспортировать любой созданный, открытый или отредактированный объект из FastReport VCL в Portable Network Graphics (PNG) очень просто и удобно. Данный формат отлично подойдёт для множества целей, будь то составление схемы для вышивки или создание чертежей для вытачивания деталей. А в реализации вам уже помогут продукты Fast Reports.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

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

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

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

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