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

20 ноября 2024

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

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

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

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

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

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