capacitor-plugin-dynamsoft-barcode-reader

February 12, 2026 ยท View on GitHub

version

A capacitor plugin for Dynamsoft Barcode Reader.

Note

This repo is not actively maintained and the performance and camera control differences between the mobile native and the JavaScript platforms are now small. You can directly use the JavaScript SDK: https://github.com/Dynamsoft/barcode-reader-javascript-samples/tree/2f0a723e88e3271170672e61c214a3d1d7a31328/frameworks/capacitor

Install

npm install capacitor-plugin-dynamsoft-barcode-reader
npx cap sync

Supported Platforms

  • Android
  • iOS
  • Web

Capacitor Versions

For Capacitor 7, use 3.x.

For Capacitor 6, use 2.x.

For Capacitor <= 5, use 1.x.

SDK Versions Used for Different Platforms

ProductAndroidiOSWeb
Dynamsoft Barcode Reader10.4.2010.4.2010.4.20

Supported Barcode Symbologies

  • Code 11
  • Code 39
  • Code 93
  • Code 128
  • Codabar
  • EAN-2
  • EAN-5
  • EAN-8
  • EAN-13
  • UPC-A
  • UPC-E
  • UPC-2
  • UPC-5
  • Interleaved 2 of 5 (ITF)
  • Industrial 2 of 5 (Code 2 of 5 Industry, Standard 2 of 5, Code 2 of 5)
  • ITF-14
  • QRCode
  • DataMatrix
  • PDF417
  • GS1 DataBar
  • Maxicode
  • Micro PDF417
  • Micro QR
  • PatchCode
  • GS1 Composite
  • Postal Code
  • Dot Code
  • Pharmacode

Demos

API

initLicense(...)

initLicense(options: { license: string; }) => Promise<{ success?: boolean; message?: string; }>
ParamType
options{ license: string; }

Returns: Promise<{ success?: boolean; message?: string; }>


initialize()

initialize() => Promise<{ success?: boolean; message?: string; }>

Returns: Promise<{ success?: boolean; message?: string; }>


initRuntimeSettingsFromString(...)

initRuntimeSettingsFromString(options: { template: string; }) => Promise<void>
ParamType
options{ template: string; }

decode(...)

decode(options: { source: string | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; template?: string; }) => Promise<{ results: TextResult[]; }>

source: Android and iOS only support base64 string. path: for Android and iOS. template: pass a template name to specify the template

ParamType
options{ source: any; template?: string; }

Returns: Promise<{ results: TextResult[]; }>


decodeBitmap(...)

decodeBitmap(options: { className?: string; methodName?: string; template?: string; }) => Promise<{ results: TextResult[]; }>

Android and iOS only method which directly read camera frames from capacitor-plugin-camera

ParamType
options{ className?: string; methodName?: string; template?: string; }

Returns: Promise<{ results: TextResult[]; }>


setEngineResourcePaths(...)

setEngineResourcePaths(options: { paths: any; }) => Promise<void>

Web only method to set the engine resource path

ParamType
options{ paths: any; }

Interfaces

TextResult

PropType
barcodeTextstring
barcodeFormatstring
barcodeBytesBase64string
x1number
y1number
x2number
y2number
x3number
y3number
x4number
y4number