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

Как создать 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”:

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. Этот компонент расширяет возможности применения данного генератора отчетов в современном документообороте.