Справочник по модулю HPDFBarcode

Изучите THPDFBarcode, перечисления параметров штрихкода, простые записи полос и функции кодирования Simple*

Используйте THPDFPage.DrawBarcode для прямого вывода на страницу PDF, THPDFBarcode для рендеринга в VCL TCanvas и функции Simple*, когда приложению нужна созданная последовательность полос до рисования

THPDFBarcode

THPDFBarcode является потомком TComponent, который выводит настроенный штрихкод на canvas VCL и при необходимости рисует читаемую текстовую подпись

ЭлементИспользование
AssignКопирует конфигурацию штрихкода из другого persistent-объекта
DrawBarcodeРисует полосы настроенного штрихкода на переданном TCanvas
DrawTextРисует необязательную текстовую подпись на переданном TCanvas
CanvasHeightВозвращает повернутую высоту рисования, необходимую для настроенных Width, Height и Angle
CanvasWidthВозвращает повернутую ширину рисования, необходимую для настроенных Width, Height и Angle

Опубликованные свойства

Компонент публикует настройки макета, типа штрихкода, контрольной суммы, цвета, текстовой подписи и уведомления об изменении

СвойствоИспользование
Height, WidthЗадает высоту рисования штрихкода и читает или назначает рассчитанную ширину
TextПередает содержимое штрихкода как AnsiString
Вверх, LeftЗадает начало координат canvas для вывода штрихкода
ModulЗадает базовую ширину модуля, используемую при рисовании полос
RatioЗадает отношение широких и узких полос для поддерживаемых символик
TypВыбирает тип штрихкода по порядковому значению THPDFBarcodeType
Checksum, CheckSumMethodВключает вывод контрольной суммы и выбирает csmNone или csmModulo10
AngleПоворачивает отрисованный штрихкод
ShowText, ShowTextFont, ShowTextPositionУправляет выводом читаемого текста, используемым шрифтом и расположением подписи
Color, ColorBarЗадает цвет фона и цвет полос
OnChangeПолучает TNotifyEvent, когда setter свойства изменяет состояние штрихкода

Типы и параметры штрихкодов

ТипЗначения
THPDFBarcodeTypebcCode_2_5_interleaved, bcCode_2_5_industrial, bcCode_2_5_matrix, bcCode39, bcCode39Extended, bcCode128A, bcCode128B, bcCode128C, bcCode93, bcCode93Extended, bcCodeMSI, bcCodePostNet, bcCodeCodabar, bcCodeEAN8, bcCodeEAN13, bcCodeUPC_A, bcCodeUPC_E0, bcCodeUPC_E1, bcCodeUPC_Supp2, bcCodeUPC_Supp5, bcCodeEAN128A, bcCodeEAN128B, bcCodeEAN128C
THPDFBarcodeOptionbcoNone, bcoCode, bcoTyp, bcoBoth
THPDFShowTextPositionstpTopLeft, stpTopRight, stpTopCenter, stpBottomLeft, stpBottomRight, stpBottomCenter
THPDFCheckSumMethodcsmNone, csmModulo10
THPDFBarLineTypewhite, black, black_half

Простые записи полос

Простые функции кодирования возвращают созданные полосы через TSimpleBarArray, массив записей TSimpleBarcodeBar

ЗаписьПоля
TSimpleBarcodeBarWidth содержит вклад ширины модуля, а Filled показывает, является ли сегмент напечатанной полосой
TSimpleBarArrayДинамический массив значений TSimpleBarcodeBar, заполняемый функциями Simple*

Простые функции кодирования

Каждая функция имеет сигнатуру function Name(const Text: AnsiString; var Bars: TSimpleBarArray): Integer и возвращает общую ширину созданных полос

ГруппаФункции
Code 2/5SimpleCode25Interleaved, SimpleCode25Industrial, SimpleCode25Matrix
Code 39 and Code 93SimpleCode39, SimpleCode39Extended, SimpleCode93, SimpleCode93Extended
Code 128 and EAN-128SimpleCode128A, SimpleCode128B, SimpleCode128C, SimpleEAN128A, SimpleEAN128B, SimpleEAN128C
Розница и почтаSimpleEAN8, SimpleEAN13, SimpleUPC_A, SimpleUPC_E0, SimpleUPC_E1, SimpleUPC_Supp2, SimpleUPC_Supp5, SimplePostNet
Другие поддерживаемые символикиSimpleMSI, SimpleCodebar

Пример

var
  Bars: TSimpleBarArray;
  TotalWidth: Integer;
begin
  TotalWidth := SimpleCode128B('ABC-123', Bars);
end;

См. также