Dev Center
Table of contents

Decode Functions

Function Description
DBR_DecodeFile Decode barcodes from a specified image file.
DBR_DecodeFileInMemory Decode barcodes from an image file in memory.
DBR_DecodeBuffer Decode barcodes from raw buffer.
DBR_DecodeBase64String Decode barcodes from a base64 encoded string.
DBR_DecodeDIB Decode barcode from a handle of device-independent bitmap (DIB).
DBR_InitIntermediateResult Inits an intermediateResult struct with default values.
DBR_DecodeIntermediateResults Decodes barcode from intermediate results.

DBR_DecodeFile

Decode barcodes from a specified image file.

DBR_API int DBR_DecodeFile (void* barcodeReader, const char* pFileName, const char* pTemplateName)	

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] pFileName A string defining the file name. It supports BMP, JPEG, PNG, TIFF and PDF files. [in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
int errorCode = DBR_DecodeFile(barcodeReader, "C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\AllSupportedBarcodeTypes.tif", "");
DBR_DestroyInstance(barcodeReader);

Remarks
If no template name is specified, current runtime settings will be used. To get the actual text results, please refer to DBR_GetAllTextResults.

DBR_DecodeFileInMemory

Decode barcodes from an image file in memory.

DBR_API int DBR_DecodeFileInMemory (void* barcodeReader, const unsigned char* pFileBytes, const int fileSize, const char* pTemplateName)	

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] pFileBytes The image file bytes in memory.
[in] fileSize The length of the file bytes in memory.
[in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
unsigned char* pFileBytes;
int nFileSize = 0;
GetFileStream("C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\AllSupportedBarcodeTypes.tif", &pFileBytes, &nFileSize);
int errorCode = DBR_DecodeFileInMemory(barcodeReader, pFileBytes, nFileSize, "");
DBR_DestroyInstance(barcodeReader);

Remarks
If no template name is specified, current runtime settings will be used. To get the actual text results, please refer to DBR_GetAllTextResults.

DBR_DecodeBuffer

Decode barcodes from the memory buffer containing image pixels in defined format.

DBR_API int DBR_DecodeBuffer (void* barcodeReader, const unsigned char* pBufferBytes, const int width, const int height, const int stride, const ImagePixelFormat format, const char* pTemplateName)

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] pBufferBytes The array of bytes which contain the image data.
[in] width The width of the image in pixels.
[in] height The height of the image in pixels.
[in] stride The stride (or scan width) of the image.
[in] format The image pixel format used in the image byte array.
[in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
unsigned char* pBufferBytes;
int iWidth = 0;
int iHeight = 0;
int iStride = 0;
ImagePixelFormat format;
GetBufferFromFile("C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\AllSupportedBarcodeTypes.tif", &pBufferBytes, &iWidth, &iHeight, &iStride, &format);
int errorCode = DBR_DecodeBuffer(barcodeReader, pBufferBytes, iWidth, iHeight, iStride, format, "");
DBR_DestroyInstance(barcodeReader);

Remarks
If no template name is specified, current runtime settings will be used. To get the actual text results, please refer to DBR_GetAllTextResults.

DBR_DecodeBase64String

Decode barcodes from an image file encoded as a base64 string.

DBR_API int DBR_DecodeBase64String (void* barcodeReader, const char* pBase64String, const char* pTemplateName)	

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] pBase64String A base64 encoded string that represents an image.
[in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
unsigned char* pBufferBytes;
int nFileSize = 0;
GetFileStream("C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\AllSupportedBarcodeTypes.tif", &pFileBytes, &nFileSize);
char* strBase64String;
GetFileBase64String(pBufferBytes, &strBase64String);
int errorCode = DBR_DecodeBase64String(barcodeReader, strBase64String, "");
DBR_DestroyInstance(barcodeReader);

Remarks
If no template name is specified, current runtime settings will be used. To get the actual text results, please refer to DBR_GetAllTextResults.

DBR_DecodeDIB

Decode barcodes from a handle of device-independent bitmap (DIB).

DBR_API int DBR_DecodeDIB (void* barcodeReader, const HANDLE hDIB, const char* pTemplateName)	

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] hDIB Handle of the device-independent bitmap.
[in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
HANDLE pDIB;
GetDIBFromImage("C:\\Program Files (x86)\\Dynamsoft\\{Version number}\\Images\\AllSupportedBarcodeTypes.tif", &pDIB);
int errorCode = DBR_DecodeDIB(barcodeReader, pDIB, "");
DBR_DestroyInstance(barcodeReader);

Remarks
If no template name is specified, current runtime settings will be used. To get the actual text results, please refer to DBR_GetAllTextResults.

DBR_InitIntermediateResult

Inits an intermediateResult struct with default values.

DBR_API int DBR_InitIntermediateResult (IntermediateResultType intermediateResultType, IntermediateResult* pIntermediateResult)	

Parameters
[in] intermediateResultType The type of the intermediate result defined by EnumIntermediateResultType.
[in, out] pIntermediateResult The intermediate result struct of type IntermediateResult.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

IntermediateResult imResult;
DBR_InitIntermediateResult(IRT_ORIGINAL_IMAGE, &imResult);

DBR_DecodeIntermediateResults

Decodes barcode from intermediate results.

DBR_API int DBR_DecodeIntermediateResults (void* barcodeReader, const IntermediateResultArray *pIntermediateResultArray, const char* pTemplateName)	

Parameters
[in] barcodeReader Handle of the barcode reader instance.
[in] pIntermediateResultArray The IntermediateResultArray for decoding.
[in] pTemplateName The template name.

Return Value
Returns error code (returns 0 if the function operates successfully).
You can call DBR_GetErrorString to get detailed error message.

Code Snippet

char errorBuf[512];
DBR_InitLicense("YOUR-LICENSE-KEY", errorBuf, 512);
void* barcodeReader = DBR_CreateInstance();
char fileName[] = "Your barcode file";
PublicRuntimeSettings settings;
DBR_GetRuntimeSettings(barcodeReader, &settings);
settings.intermediateResultTypes = IRT_ORIGINAL_IMAGE;
DBR_UpdateRuntimeSettings(barcodeReader, &settings, errorBuf, 512);
DBR_DecodeFile(barcodeReader, fileName, "");
IntermediateResultArray * imResults = NULL;
DBR_GetIntermediateResults(barcodeReader, &imResults);
DBR_DecodeIntermediateResults(barcodeReader, imResults, "");
TextArray * results = NULL;
DBR_GetAllTextResults(barcodeReader, &results);
DBR_FreeTextResults(&results);
DBR_DestroyInstance(barcodeReader);

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article: