(TBarcode2D_MicroPDF417)
Specifies the priority order of selecing appropriate symbol size for a MicroPDF417 barcode symbol.
type
{ Defined in the pMicroPDF417 unit }
TMicroPDF417_StretchOrder = (soRowColumn, soColumnRow, soRowPrior, soColumnPrior, soGlobal_1, soGlobal_2, soGlobal_3, soGlobal_4);
property StretchOrder: TMicroPDF417_StretchOrder;
The property specifies a priority order in order to automatically select the symbol size for a MicroPDF417 barcode symbol. According to the priority order, the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property).
The property can be one of these values (defined in the pMicroPDF417 unit):
soRowColumn: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text, the number of rows will be increased firstly until it reachs the maximum number of rows (specified by the MaxSize property) or the barcode text is accommodated by the symbol. If the number of rows has reached the maximum number of rows (specified by the MaxSize property) but the barcode text cannot yet be accommodated, the number of columns will be increased and the number of rows will be reset to minimum number of rows (specified by the MinSize property). Repeat these until the barcode text is accommodated by the symbol, or the symbol size reachs maximum symbol size (specified by the MaxSize property), in this case (tha barcode text cannot always be accommodated), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur. See diagram:
soColumnRow: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text, the number of columns will be increased firstly until it reachs the maximum number of columns (specified by the MaxSize property) or the barcode text is accommodated by the symbol. If the number of columns has reached the maximum number of columns (specified by the MaxSize property) but the barcode text cannot yet be accommodated, the number of rows will be increased and the number of columns will be reset to minimum number of columns (specified by the MinSize property). Repeat these until the barcode text is accommodated by the symbol, or the symbol size reachs maximum symbol size (specified by the MaxSize property), in this case (tha barcode text cannot always be accommodated), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur. See diagram:
soRowPrior: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text, the number of rows will be increased firstly until it reachs the maximum number of rows defined by the specification or the barcode text is accommodated by the symbol. If the number of rows has reached the maximum number of rows defined by the specification but the barcode text cannot yet be accommodated, the number of columns will be increased and the number of rows will be reset to minimum number of rows defined by the specification. Repeat these until the barcode text is accommodated by the symbol, or the symbol size reachs maximum symbol size (specified by the MaxSize property), in this case (tha barcode text cannot always be accommodated), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur. See diagram:
soColumnPrior: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text, the number of columns will be increased firstly until it reachs the maximum number of columns defined by the specification or the barcode text is accommodated by the symbol. If the number of columns has reached the maximum number of columns defined by the specification but the barcode text cannot yet be accommodated, the number of rows will be increased and the number of columns will be reset to minimum number of columns defined by the specification. Repeat these until the barcode text is accommodated by the symbol, or the symbol size reachs maximum symbol size (specified by the MaxSize property), in this case (tha barcode text cannot always be accommodated), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur. See diagram:
soGlobal_1: All available symbol sizes will be sorted in ascending order of data capacity. If the data capacitoies of any two or three symbol sizes are equivalent, only smaller one in number of rows will be sorted. According to the order, the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). The order is listed below:
mpSize_1_11, mpSize_3_6, mpSize_1_14, mpSize_2_8, mpSize_1_17, mpSize_1_20, mpSize_2_11, mpSize_3_10, mpSize_1_24, mpSize_3_12, mpSize_2_14, mpSize_1_28, mpSize_2_17, mpSize_2_20, mpSize_4_12, mpSize_2_23, mpSize_3_20, mpSize_2_26, mpSize_4_15, mpSize_3_26, mpSize_4_20, mpSize_3_32, mpSize_3_38, mpSize_4_26, mpSize_3_44, mpSize_4_32, mpSize_4_38, mpSize_4_44
If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur.
soGlobal_2: All available symbol sizes will be sorted in ascending order of data capacity. If the data capacitoies of any two or three symbol sizes are equivalent, only smaller one in number of columns will be sorted. According to the order, the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). The order is listed below:
mpSize_1_11, mpSize_3_6, mpSize_1_14, mpSize_4_4, mpSize_3_8, mpSize_4_6, mpSize_2_11, mpSize_3_10, mpSize_1_24, mpSize_4_8, mpSize_2_14, mpSize_1_28, mpSize_4_10, mpSize_2_20, mpSize_4_12, mpSize_2_23, mpSize_3_20, mpSize_2_26, mpSize_4_15, mpSize_3_26, mpSize_4_20, mpSize_3_32, mpSize_3_38, mpSize_4_26, mpSize_3_44, mpSize_4_32, mpSize_4_38, mpSize_4_44
If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur.
soGlobal_3: All available symbol sizes will be sorted in ascending order of data capacity. If the data capacitoies of any two symbol sizes are equivalent, only smaller one in number of rows will be sorted. If the data capacitoies of any three symbol sizes are equivalent, only middle one in number of rows and columns will be sorted. According to the order, the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). The order is listed below:
mpSize_1_11, mpSize_3_6, mpSize_1_14, mpSize_2_8, mpSize_1_17, mpSize_1_20, mpSize_2_11, mpSize_3_10, mpSize_1_24, mpSize_3_12, mpSize_2_14, mpSize_1_28, mpSize_3_15, mpSize_2_20, mpSize_4_12, mpSize_2_23, mpSize_3_20, mpSize_2_26, mpSize_4_15, mpSize_3_26, mpSize_4_20, mpSize_3_32, mpSize_3_38, mpSize_4_26, mpSize_3_44, mpSize_4_32, mpSize_4_38, mpSize_4_44
If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur.
soGlobal_4: All available symbol sizes will be sorted in ascending order of data capacity. If the data capacitoies of any two symbol sizes are equivalent, only smaller one in number of columns will be sorted. If the data capacitoies of any three symbol sizes are equivalent, only middle one in number of rows and columns will be sorted. According to the order, the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). The order is listed below:
mpSize_1_11, mpSize_3_6, mpSize_1_14, mpSize_4_4, mpSize_3_8, mpSize_4_6, mpSize_2_11, mpSize_3_10, mpSize_1_24, mpSize_4_8, mpSize_2_14, mpSize_1_28, mpSize_3_15, mpSize_2_20, mpSize_4_12, mpSize_2_23, mpSize_3_20, mpSize_2_26, mpSize_4_15, mpSize_3_26, mpSize_4_20, mpSize_3_32, mpSize_3_38, mpSize_4_26, mpSize_3_44, mpSize_4_32, mpSize_4_38, mpSize_4_44
If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property), an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later, and the barcode text is specified in the Data property) event will occur.
See also the "Symbol sizes" section in the "TBarcode2D_MicroPDF417" article.