Как создать QR-код в FastReport VCL и с помощью кода Delphi / Lazarus

24.08.2022

Как создать QR-код в FastReport VCL и с помощью кода Delphi / Lazarus

За последние годы QR-коды стали обыденной частью нашей жизни. Они являются двумерным типом штрих-кода, который легко считывается цифровым устройством и хранит информацию в виде серии пикселей. Большое распространение они нашли в торговле, логистике, производстве.

В отличие от штрих-кода, QR-коды читаются в двух направлениях — по горизонтали и по вертикали. Это позволяет хранить в них больше данных. Легкость распознавания и удобство использования QR-кодов предопределило их популярность. С помощью FastReport VCL вы без особых сложностей сможете использовать QR-коды в своих отчетах. Рассмотрим эту возможность подробнее.

Запустите дизайнер генератора отчетов. Во всплывающем меню инструмента “Barcode object” выберите компонент “QRCode”.

Выбор компонента “QRCode”

 

При добавлении на страницу QRCode будет выглядеть следующим образом:

QR-Code в отчёте

 

Двойным кликом по нему откройте редактор 2D штрих-кодов. Это также можно сделать из контекстного меню, выбрав пункт «Редактировать»:

Редактирование штрих-кода

 

Так выглядит редактор штрих-кодов:

Редактор 2D штрих-кода

 

Рассмотрим его основные функции более подробно:

1. Во вкладке “General” можно изменить размер штрих-кода, добавить подпись или повернуть его.

2. На вкладке “Other options”:

  • Если CodePage <> 0 - используется ECI режим;
  • В свойстве Encoding можно выбрать кодировку текста;
  • Свойство ErrorLevels обеспечивает избыточность, для корректного чтения данных при частично поврежденном изображении кода;
  • QuietZone определяет наличие белой рамки QR-кода.

3. В редакторе выражений, на строке “Code” можно:

  • Обращаться к полям источника данных;
  • Использовать системные переменные;
  • Применять различные функции.

В свойстве объекта “ExpressionPreset” можно выбрать предустановки для создания квитанций по спецификациям СБЕР кода и Swiss кода:

Выбор предустановок для QR-кода

 

Вы можете сформировать свои QR-коды различных типов, для этого вам необходимо указать строку определенного формата и задать её в свойстве Text.

Рассмотрим эти типы подробнее с примерами штрих-кодов и данных:

URI – это унифицированный идентификатор ресурса. Строка для идентификации различных файлов, документов, изображений, электронной почты, веб-сервиса и др.:

https://www.fastreport.ru/ru/

https://www.fastreport.ru/ru/

 

EmailAddress – адрес электронной почты:

support@fastreport.ru

support@fastreport.ru

 

EmailMessage – текст электронного письма:

MATMSG:TO:support@fast-report.com;SUB:FastReport VCL question;BODY:Hello, I have a question about FastReport VCL.;

MATMSG:TO:support@fast-report.com;SUB:FastReport VCL question;BODY:Hello, I have a question about FastReport VCL.;

 

Geolocation – координаты для определения реального географического местоположения:

geo:-50.737563,-79.490016,120

geo:-50.737563,-79.490016,120

 

SMS – текстовое сообщение:

SMSTO:(71) 555-4444:Hello, Dolly! I'm fine!

 SMSTO:(71) 555-4444:Hello, Dolly! I'm fine!

 

Call –телефонный номер:

tel:(71) 555-4444

tel:(71) 555-4444

 

Wi -fi – информация для подключения к wi – fi сети:

WIFI:T:WPA;S:Honeypot;P:youarewelcome;H:true;

WIFI:T:WPA;S:Honeypot;P:youarewelcome;H:true;

 

Создаём QR-код из кода Delphi/Lazarus:

uses frxBarcode2D;
procedure TForm1.Button1Click(Sender: TObject);
var
 bcQR: TfrxBarcode2DView;
begin
 bcQR := TfrxBarcode2DView(frxReport1.FindObject('Barcode2D1'));
 { Устанавливаем тип штрих-кода }
 bcQR.BarType := bcCodeQR;
 
 { В зависимости от типа, который вы хотите использовать, вам необходимо}
 {оставить одну строку, присваивающую текст определенного формата }
 
 { Если вы хотите установить URL тип: }
 bcQR.Text := 'https://www.fastreport.ru/ru/';
 
 { Если вы хотите установить EmailAddress тип: }
 bcQR.Text := 'support@fastreport.ru';
 
 { Если вы хотите установить EmailMessage тип: }
 bcQR.Text :=
 'MATMSG:TO:support@fast-report.com;SUB:FastReport VCL question;BODY:Hello, I have a question about FastReport VCL.;';
 
 { Если вы хотите установить Geolocation тип: }
 bcQR.Text := 'geo:-50.737563,-79.490016,120';
 
 { Если вы хотите установить SMS тип: }
 bcQR.Text := 'SMSTO:(71) 555-4444:Hello, Dolly! I'' m fine ! ';
 
 { Если вы хотите установить Call тип: }
 bcQR.Text := 'tel:(71) 555-4444';
 
 { Если вы хотите установить Wi-Fi тип: }
 bcQR.Text := 'WIFI:T:WPA;S:Honeypot;P:youarewelcome;H:true;';
 frxReport1.ShowReport();
end;

 

Мы рассмотрели использование QR-кодов в FastReport VCL. Этот компонент расширяет возможности применения данного генератора отчетов в современном документообороте.

11 декабря 2023

Новый транспорт S3 (Amazon) в FastReport VCL

В этой статье мы рассмотрим новый транспорт в S3 (Amazon) для FastReport VCL, являющийся объектным хранилищем файлов и бакетов.
27 ноября 2023

Создание пользовательских стилей линий в FastReport .NET

С помощью DashPattern вы сможете задавать пользовательский паттерн для создания уникального стиля линий объектов, полигонов и фигур.
27 ноября 2023

Упрощение работы с TableObject в дизайнере отчетов

Новые возможности для объекта "Таблица" в дизайнере отчетов позволят вам быстрее формировать шаблоны через контекстное меню.