BARCODEWRITEPDF

typedef struct tagBarCodeWritePDF 
{ 
   L_UINT uStructSize; 
   L_UINT16 wEccPerc; 
   L_UINT16 wEccLevel; 
   L_UINT16 wAspectHeight; 
   L_UINT16 wAspectWidth; 
   L_UINT16 wModAspectRatio; 
   L_UINT16 wColumns; 
   L_UINT16 wRows; 
   L_UINT16 wModule; 
   L_INT nJustify; 
} BARCODEWRITEPDF,  * pBARCODEWRITEPDF; 

This structure contains PDF417/MicroPDF417 symbol information.

Member Description
uStructSize Size of the BARCODEWRITEPDF structure, in bytes, for versioning. Use the sizeof() macro to calculate the value.
wEccPerc Determines the ECC character percentage. This will be used when wEccLevel is BARCODE_PDF417_ECCUSE_PERCENT. Only used with PDF417.
wEccLevel Determines the ECC level for writing a PDF417 symbol. Possible values are:
Value Meaning
BARCODE_PDF417_ECCLEVEL_0 [0x0001] Use ECC level 0. This uses 2 code words for error correction.
BARCODE_PDF417_ECCLEVEL_1 [0x0002] Use ECC level 0. This uses 4 code words for error correction.
BARCODE_PDF417_ECCLEVEL_2 [0x0004] Use ECC level 0. This uses 8 code words for error correction.
BARCODE_PDF417_ECCLEVEL_3 [0x0008] Use ECC level 0. This uses 16 code words for error correction.
BARCODE_PDF417_ECCLEVEL_4 [0x0010] Use ECC level 0. This uses 32 code words for error correction.
BARCODE_PDF417_ECCLEVEL_5 [0x0020] Use ECC level 0. This uses 64 code words for error correction.
BARCODE_PDF417_ECCLEVEL_6 [0x0040] Use ECC level 0. This uses 128 code words for error correction.
BARCODE_PDF417_ECCLEVEL_7 [0x0080] Use ECC level 0. This uses 256 code words for error correction.
BARCODE_PDF417_ECCLEVEL_8 [0x0100] Use ECC level 0. This uses 512 code words for error correction.
BARCODE_PDF417_ECCUSE_PERCENT [0x0FFF] Use the percentage to determine the ECC level.
wAspectHeight The height of the aspect ratio of the symbol. Only used with PDF417.
wAspectWidth The width of the aspect ratio of the symbol. Only used with PDF417.
wModAspectRatio Specifies the ratio of the width of the smallest element (wModule) to the height of a row of the PDF417 symbol.
wColumns Number of columns for writing a PDF417 or MicroPDF417 symbol. When the BARCODE_COLROWASLIMITS flag is set, the function will not use wAspectHeight.
wRows Number of rows for writing a PDF417 or MicroPDF417 symbol. When the BARCODE_COLROWASLIMITS flag is set, the function will not use wAspectWidth.
wModule The size of the smallest element in width, specified in thousandths of an inch (0.001). If the value is too small, a minimum of 2 pixels will be used.

 

nJustify Determines the alignment (justification) of the resulting barcode symbols. You can combine values when appropriate, by using a bitwise OR ( | ). The following are valid values:
Value Meaning
BARCODE_JUSTIFY_RIGHT [0x1000] Justifies the PDF417/MicroPDF417 symbol to the right side of the bitmap.
BARCODE_JUSTIFY_H_CENTER [0x2000] Justifies the PDF417/MicroPDF417 symbol in the horizontal center of the bitmap.
BARCODE_JUSTIFY_BOTTOM [0x4000] Justifies the PDF417/MicroPDF417 symbol to the bottom side of the bitmap.
BARCODE_JUSTIFY_V_CENTER [0x8000] Justifies the PDF417/MicroPDF417 symbol in the vertical center of the bitmap.

Comments

pBARCODEWRITEPDF is a pointer to an BARCODEWRITEPDF structure. Where the function parameter type is pBARCODEWRITEPDF, you can declare a BARCODEWRITEPDF variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pBARCODEWRITEPDF variable is necessary only if your program requires a pointer.

A PDF417 barcode size is dependent on the following values:

Number of Columns

Number of Rows

X Module Size

Module Aspect Ratio

To calculate barcode Width use the following equation:

Width= ((Number of Columns * 17) + 73) * (X Module Size)

This includes the Quiet Zone, Indicators, Start and Stop patterns.

To calculate barcode Height use the following equation:

Height=(Number of Rows + 4) * (X Module Size) * (Module Aspect Ratio)

The 4 added to Number of Rows is to account for the Quiet Zone.

If the number of columns and rows are not specified the default behavior is to find the minimum number of columns that the data requires to fit in its rows.

The Quiet Zone for a barcode is a minimum required white space before the start of the barcode symbols. The purpose is to delineate non-barcode information from the barcode data to prevent a reader from picking up information that doesnt pertain to the barcode. For a PDF417 the Quiet Zone is 2 Modules on each side.

AspectHeight and AspectWidth properties are needed in special case when the number of barcode codewords equal to 4 (i.e. small barcodes).

If there isnt a valid row column combination available to fit the encoded data or if the number of the specified columns and rows cannot fit the data. The function will return "Function Not Successful".

For a table containing information useful when writing PDF417 barcode data see https://www.leadtools.com/sdk/barcode/pdf417-chart

MicroPDF417 may only be printed in certain defined combinations of rows and columns. Possible values are (wColumns x wRows):

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Barcode C++ Class Library Help