capacitor-plugin-dynamsoft-document-normalizer

September 18, 2025 ยท View on GitHub

A document scanning plugin for Capacitor using Dynamsoft Document Normalizer.

Online demo

Versions

For Capacitor v7, use versions >= 4.x.

For Capacitor v6, use versions 3.x.

For Capacitor v5, use versions 1.x and 2.x.

For Capacitor v4, use v0.x.

SDK Versions Used for Different Platforms

ProductAndroidiOSWeb
Dynamsoft Capture Vision3.x3.x3.x

Supported Platforms

  • Web
  • Android
  • iOS

Install

npm install capacitor-plugin-dynamsoft-document-normalizer
npx cap sync

API

initialize()

initialize() => Promise<void>

initLicense(...)

initLicense(options: { license: string; }) => Promise<void>
ParamType
options{ license: string; }

initRuntimeSettingsFromString(...)

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

detect(...)

detect(options: { path?: string; source?: string | HTMLImageElement | HTMLCanvasElement; template?: string; }) => Promise<{ results: DetectedQuadResultItem[]; }>

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

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

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


detectBitmap(...)

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

Android and iOS only method which directly reads camera frames from capacitor-plugin-camera. Pass a template name to specify the template.

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

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


normalize(...)

normalize(options: { path?: string; source?: string | HTMLImageElement | HTMLCanvasElement; quad: Quadrilateral; template?: string; saveToFile?: boolean; includeBase64?: boolean; }) => Promise<{ result: NormalizedImageResult; }>

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

ParamType
options{ path?: string; source?: any; quad: Quadrilateral; template?: string; saveToFile?: boolean; includeBase64?: boolean; }

Returns: Promise<{ result: NormalizedImageResult; }>


detectAndNormalize(...)

detectAndNormalize(options: { path?: string; source?: string | HTMLImageElement | HTMLCanvasElement; template?: string; saveToFile?: boolean; includeBase64?: boolean; }) => Promise<{ result: NormalizedImageResult; }>

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

ParamType
options{ path?: string; source?: any; template?: string; saveToFile?: boolean; includeBase64?: boolean; }

Returns: Promise<{ result: NormalizedImageResult; }>


setEngineResourcePaths(...)

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

Web Only

ParamType
options{ paths: any; }

Interfaces

DetectedQuadResultItem

PropTypeDescription
locationQuadrilateralThe location of the detected quadrilateral within the original image, represented as a quadrilateral shape.
confidenceAsDocumentBoundarynumberA confidence score related to the detected quadrilateral's accuracy as a document boundary.
CrossVerificationStatusEnumCrossVerificationStatusIndicates whether the DetectedQuadResultItem has passed corss verification.

Quadrilateral

PropTypeDescription
points[Point, Point, Point, Point]An array of four Point objects defining the vertices of the quadrilateral.
boundingRectDSRectThe bounding rectangle of the quadrilateral, represented by a DSRect object.
areanumberThe area of the quadrilateral.

Point

PropTypeDescription
xnumberThe x-coordinate of the point.
ynumberThe y-coordinate of the point.

DSRect

PropTypeDescription
leftnumberThe left coordinate of the rectangle.
rightnumberThe right coordinate of the rectangle.
topnumberThe top coordinate of the rectangle.
bottomnumberThe bottom coordinate of the rectangle.
isMeasuredInPercentagebooleanIndicates if the rectangle's measurements are in percentages.

NormalizedImageResult

PropType
base64string
pathstring

Enums

EnumCrossVerificationStatus

MembersValueDescription
CVS_NOT_VERIFIED0The cross verification has not been performed yet.
CVS_PASSED1The cross verification has been passed successfully.
CVS_FAILED2The cross verification has failed.