typedef struct _tagBARCODEWRITEDM
{
L_UINT uStructSize;
L_UINT32 ulFlags;
L_CHAR cGroupNumber;
L_CHAR cGroupTotal;
L_UCHAR cFileIDLo;
L_UCHAR cFileIDHi;
L_INT nXModule;
} BARCODEWRITEDM,* pBARCODEWRITEDM;
The BARCODEWRITEDM structure contains information used to write ECC 200 Data Matrix.
Member | Description | |
uStructSize | Size of BARCODEWRITEDM structure in bytes. Use the sizeof operator to calculate this value. | |
ulFlags | Flags that indicate how to configure the engine. You can combine values when appropriate, by using a bitwise OR ( | ). Possible values are: | |
Flags | Meaning | |
BARCODE_JUSTIFY_RIGHT | [0x1000] Justify the Data Matrix symbol to the right side of the bitmap. | |
BARCODE_JUSTIFY_H_CENTER | [0x2000] Justify the Data Matrix symbol in the horizontal center of the bitmap. | |
BARCODE_JUSTIFY_BOTTOM | [0x4000] Justify the Data Matrix symbol to the bottom side of the bitmap. | |
BARCODE_JUSTIFY_V_CENTER | [0x8000] Justify the Data Matrix symbol in the vertical center of the bitmap. | |
cGroupNumber | Specifies a group of Data Matrix symbols. The maximum number of symbols in a group is 16. Use this member to specify the order of each barcode in a group so that when you read each barcode's data, you can put the large piece of data back together in the correct order. | |
cGroupTotal | Specifies the total number of Data Matrix symbols in the group specified by the cGroupNumber member. The maximum number of symbols in a group is 16. | |
cFileIDLo | Specifies the low byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups. | |
cFileIDHi | Specifies the high byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups. | |
nXModule | The size of the written Data Matrix barcode, specified in 0.001 inch. If the value is too small, a minimum of 5 pixels will be used. |
pBARCODEWRITEDM is a pointer to an BARCODEWRITEDM structure. When the function parameter type is pBARCODEWRITEDM, you can declare a BARCODEWRITEDM variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pBARCODEWRITEDM variable is necessary only if your program requires a pointer.
This structure is used by the L_BarCodeWrite function.
Use the cGroupNumber, CGroupTotal, CFileIDLo, cFileIDHi members whenever it is necessary to split up the information that needs to be encoded into different barcodes.
The following table contains information for writing ECC 200 Data Matrix barcodes:
Data Matrix type |
Maximum Numeric Length |
Maximum Alphanumeric Length |
Maximum Binary Length |
Maximum Correctable Error / Erasure |
10 x 10 |
6 |
3 |
1 |
2 |
12 x 12 |
10 |
6 |
3 |
3 |
14 x 14 |
16 |
10 |
6 |
5/7 |
16 x 16 |
24 |
16 |
10 |
6/9 |
18 x 18 |
36 |
25 |
16 |
7/11 |
20 x 20 |
44 |
31 |
20 |
9/15 |
22 x 22 |
60 |
43 |
28 |
10/17 |
24 x 24 |
72 |
52 |
34 |
12/21 |
26 x 26 |
88 |
64 |
42 |
14/25 |
32 x 32 |
124 |
91 |
60 |
18/33 |
36 x 36 |
172 |
127 |
84 |
21/39 |
40 x 40 |
228 |
169 |
112 |
24/45 |
44 x 44 |
288 |
214 |
142 |
28/53 |
48 x 48 |
348 |
259 |
172 |
34/65 |
52 x 52 |
408 |
304 |
202 |
42/78 |
64 x 64 |
560 |
418 |
278 |
56/106 |
72 x 72 |
736 |
550 |
366 |
72/132 |
80 x 80 |
912 |
682 |
454 |
96/180 |
88 x 88 |
1152 |
862 |
574 |
112/212 |
96 x 96 |
1392 |
1042 |
694 |
136/260 |
104 x 104 |
1632 |
1222 |
814 |
168/318 |
120 x 120 |
2100 |
1573 |
1048 |
204/390 |
132 x 132 |
2608 |
1954 |
1302 |
248/472 |
144 x 144 |
3116 |
2335 |
1556 |
310/590 |
8 x 18 |
10 |
6 |
3 |
3 |
8 x 32 |
20 |
13 |
8 |
5 |
12 x 26 |
32 |
22 |
14 |
7/11 |
12 x 36 |
44 |
31 |
20 |
9/15 |
16 x 36 |
64 |
46 |
30 |
12/21 |
16 x 48 |
98 |
72 |
47 |
14/25 |