Thanks for downloading Dynamsoft Barcode Reader Package!
Your download will start shortly. If your download does not begin, click here to retry.
JavaScript API Reference
The Dynamsoft Barcode Reader JavaScript library comes with two primary classes: BarcodeReader
and BarcodeScanner
.
BarcodeReader
A low-level barcode reader that processes still images and returns barcode results. The following code snippet shows its basic usage:
let reader = await Dynamsoft.DBR.BarcodeReader.createInstance();
let results = await reader.decode(imageSource);
for(let result of results){
console.log(result.barcodeText);
}
The APIs for this class include:
Create and Destroy Instances
API Name | Description |
---|---|
createInstance() | Creates a BarcodeReader instance. |
destroyContext() | Destroys the BarcodeReader instance. |
isContextDestroyed() | Returns whether the instance has been destroyed. |
Decode Barcodes on a Single Image
API Name | Description |
---|---|
decode() | Decodes barcodes from an image. |
decodeBase64String() | Decodes barcodes from a base64-encoded image (with or without MIME). |
decodeUrl() | Decodes barcodes from an image specified by its URL. |
decodeBuffer() | Decodes barcodes from raw image data. |
Decode Barcodes on multiple images from an Image Source
API Name | Description |
---|---|
setImageSource | Sets an image source for continous scanning. |
onUniqueRead | This event is triggered when a new, unduplicated barcode is found. |
onImageRead | This event is triggered after the library finishes scanning an image. |
startScanning() | Starts continuous scanning of incoming images. |
stopScanning() | Stops continuous scanning. |
pauseScanning() | Pause continuous scanning but keep the video stream. |
resumeScanning() | Resumes continuous scanning. |
getScanSettings() | Returns the current scan settings. |
updateScanSettings() | Changes scan settings with the object passed in. |
Change Settings
API Name | Description |
---|---|
getRuntimeSettings() | Returns the current runtime settings. |
initRuntimeSettingsWithString | Initializes the Runtime Settings with the settings in the given JSON string. |
updateRuntimeSettings() | Updates runtime settings with a given struct or a preset template. |
resetRuntimeSettings() | Resets all parameters to default values. |
outputRuntimeSettingsToString() | Return the current RuntimeSettings in the form of a string. |
getModeArgument() | Returns the argument value for the specified mode parameter. |
setModeArgument() | Sets the argument value for the specified mode parameter. |
Auxiliary
API Name | Description |
---|---|
ifSaveOriginalImageInACanvas | Whether to save the original image into a <canvas> element. |
getOriginalImageInACanvas() | Returns an HTMLCanvasElement that holds the original image. |
BarcodeScanner
A barcode scanner object gets access to a camera via the MediaDevices interface, then uses its built-in UI to show the camera input and performs continuous barcode scanning on the incoming frames.
The default built-in UI of a barcode scanner object is defined in the file dbr.ui.html
. The UI fits the entire page and sits on top. Read more on how to Customize the UI.
Although a barcode scanner is designed to scan barcodes from a video input, it also supports a special mode called singleFrameMode which allows users to select a still image or take a shot with the camera for barcode scanning.
The following code snippet shows the basic usage of the BarcodeScanner
class.
let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
scanner.onUniqueRead = txt => console.log(txt);
await scanner.show();
The BarcodeScanner
class is based on BarcodeReader and inherits most of its methods and properties. The following APIs are different or unique:
Create and Destroy Instances
API Name | Description |
---|---|
createInstance() | Creates a BarcodeScanner instance. |
destroyContext() | Destroys the BarcodeScanner instance. |
isContextDestroyed() | Returns whether the instance has been destroyed. |
Decode Barcodes
API Name | Description |
---|---|
onUniqueRead | This event is triggered when a new, unduplicated barcode is found. |
onFrameRead | This event is triggered after the library finishes scanning a frame. |
Basic Interaction
API Name | Description |
---|---|
show() | Binds and shows UI, opens the camera and starts decoding. |
hide() | Stops decoding, releases camera, hides and unbinds UI. |
open() | Binds UI, opens the camera and starts decoding. |
close() | Stops decoding, releases camera and unbinds UI. |
isOpen() | Indicates whether the camera is turned on. |
Scan Settings
API Name | Description |
---|---|
singleFrameMode | Returns or sets whether to enable the singe-frame mode. |
getScanSettings() | Returns the current scan settings. |
updateScanSettings() | Changes scan settings with the object passed in. |
UI Control
API Name | Description |
---|---|
getUIElement() | Returns the HTML element that is used by the BarcodeScanner instance. |
setUIElement() | Specifies an HTML element for the BarcodeScanner instance to use as its UI. |
defaultUIElementURL | Returns or sets the URL of the .html file that defines the default UI Element. |
barcodeFillStyle | Specifies the color used inside the shape which highlights a found barcode. |
barcodeStrokeStyle | Specifies the color used to paint the outline of the shape which highlights a found barcode. |
barcodeLineWidth | Specifies the line width of the outline of the shape which highlights a found barcode. |
barcodeFillStyleBeforeVerification | Specifies the color used inside the shape which highlights a found linear barcode which has not been verified. |
barcodeStrokeStyleBeforeVerification | Specifies the color used to paint the outline of the shape which highlights a found linear barcode which has not been verified. |
barcodeLineWidthBeforeVerification | Specifies the line width of the outline of the shape which highlights a found linear barcode which has not been verified. |
regionMaskFillStyle | Specifies the color used in the square-loop shape between the actual scanning area and the boundary of the video input. |
regionMaskStrokeStyle | Specifies the color used to paint the outline of the scanning region. |
regionMaskLineWidth | Specifies the width of the outline of the scanning region. |
setVideoFit() | Sets the object-fit CSS property of the video element. |
ifShowScanRegionMask | Whether to show or hide the scan region mask. |
showTip() | Shows a Tip message. |
hideTip() | Hides the Tip message. |
updateTipMessage() | Changes the Tip message. |
onTipSuggested() | An event that gets triggered whenever a Tip is suggested. |
Camera Control
API Name | Description |
---|---|
ifSkipCameraInspection | Returns or sets whether to skip camera inspection at initialization to save time. |
ifSaveLastUsedCamera | Returns or sets whether to save the last used camera and resolution. |
getAllCameras() | Returns infomation of all available cameras on the device. |
getCurrentCamera() | Returns information about the current camera. |
setCurrentCamera() | Chooses a camera as the video source. |
getResolution() | Returns the resolution of the current video input. |
setResolution() | Sets the resolution of the current video input. |
getVideoSettings() | Returns the current video settings. |
updateVideoSettings() | Changes the video input. |
onWarning | A callback which is triggered when the resolution is not ideal (<720P). |
Video Decoding Process Control
API Name | Description |
---|---|
play() | Play the video if it is already open but paused or stopped. |
onPlayed | This event is triggered when the video stream starts playing. |
pauseScan() | Pauses the decoding process. |
resumeScan() | Resumes the decoding process. |
pause() | Pauses the video without releasing the camera. |
stop() | Stops the video and releases the camera. |
videoSrc | Sets or returns the source of the video. |
Advanced Camera Control
API Name | Description |
---|---|
getCapabilities() | Inspects and returns the capabilities of the current camera. |
getCameraSettings() | Returns the current values for each constrainable property of the current camera. |
getFrameRate() | Returns the real-time frame rate. |
setFrameRate() | Adjusts the frame rate. |
setColorTemperature() | Adjusts the color temperature. |
setExposureCompensation() | Sets the exposure compensation index. |
setFocus() | Sets the focus mode and focus distance of the camera. |
getFocus() | Gets the focus mode and focus distance of the camera. |
setZoom() | Sets the exposure compensation index. |
turnOnTorch() | Turns on the torch/flashlight. |
turnOffTorch() | Turns off the torch/flashlight. |
License Control
Initialization Control
The following static methods and properties help to set up the runtime environment for the library:
Interfaces and Enums
In order to make the code more predictable and readable, the library defines a series of supporting interfaces and enumerations:
Interfaces
- LocalizationResult
- Region
- RuntimeSettings
- FurtherModes
- ScannerPlayCallbackInfo
- ScanSettings
- TextResult
- VideoDeviceInfo
- imagesource
- dsimage
Enums
- EnumBarcodeColourMode
- EnumBarcodeComplementMode
- EnumBarcodeFormat
- EnumBarcodeFormat_2
- EnumBinarizationMode
- EnumClarityCalculationMethod
- EnumClarityFilterMode
- EnumColourClusteringMode
- EnumColourConversionMode
- EnumConflictMode
- EnumDeblurMode
- EnumDeformationResistingMode
- EnumDPMCodeReadingMode
- EnumErrorCode
- EnumGrayscaleTransformationMode
- EnumImagePixelFormat
- EnumImagePreprocessingMode
- EnumIMResultDataType
- EnumIntermediateResultSavingMode
- EnumIntermediateResultType
- EnumLocalizationMode
- EnumPDFReadingMode
- EnumQRCodeErrorCorrectionLevel
- EnumRegionPredetectionMode
- EnumResultCoordinateType
- EnumResultType
- EnumScaleUpMode
- EnumTerminatePhase
- EnumTextFilterMode
- EnumTextResultOrderMode
- EnumTextureDetectionMode