UNPKG

scanbot-web-sdk

Version:

Scanbot Web Document and Barcode Scanner SDK

256 lines (255 loc) 13 kB
import { WorkerBridge } from "./worker/worker-bridge"; import { InitializationOptions } from "./model/configuration/initialization-options"; import { DocumentScannerViewConfiguration } from "./model/configuration/document-scanner-view-configuration"; import { BarcodeScannerViewConfiguration } from "./model/configuration/barcode-scanner-view-configuration"; import { CroppingViewConfiguration } from "./model/configuration/cropping-view-configuration"; import { IDocumentScannerHandle } from "./interfaces/i-document-scanner-handle"; import { IBarcodeScannerHandle } from "./interfaces/i-barcode-scanner-handle"; import { ICroppingViewHandle } from "./interfaces/i-cropping-view-handle"; import { PdfGenerator } from './service/pdf-generator'; import { TiffGenerator } from './service/tiff-generator'; import { PublicUtils } from "./service/public-utils"; import { MrzScannerViewConfiguration } from "./model/configuration/mrz-scanner-view-configuration"; import { IMrzScannerHandle } from "./interfaces/i-mrz-scanner-handle"; import { TextPatternScannerViewConfiguration } from "./model/configuration/text-pattern-scanner-view-configuration"; import { VinScannerViewConfiguration } from "./model/configuration/vin-scanner-view-configuration"; import { ITextPatternScannerHandle } from "./interfaces/i-text-pattern-scanner-handle"; import ScanbotSDKUI from "./ui2/scanbot-sdk-ui"; import { Image, DeepPartial, BarcodeScannerConfiguration, BarcodeDocumentFormat, MrzScannerConfiguration, DocumentQualityAnalyzerConfiguration, PdfConfiguration, TiffGeneratorParameters, DocumentDataExtractorConfiguration, BarcodeDocumentParserResult, DocumentQualityAnalyzer, CheckScannerConfiguration, DocumentScannerConfiguration, LicenseInfo, BridgeApiEntrypoint } from "./core-types"; import * as Config from "./core-types"; import { DocumentDataExtractorViewConfiguration } from "./model/configuration/document-data-extractor-view-configuration"; import { ConsumeType } from "./consume-type"; import { Stats } from "./utils/stats"; import { BrowserCameras } from "./utils/browser-cameras"; import { SBStorage } from "./service/storage/sb-storage"; import { ICheckScannerHandle } from "./interfaces/i-check-scanner-handle"; import { CheckScannerViewConfiguration } from "./model/configuration/check-scanner-view-configuration"; import { IDocumentDataExtractorHandle } from "./interfaces/i-document-data-extractor-handle"; export default class ScanbotSDK { /** @internal */ bridge: WorkerBridge; private initialized; private static defaultEnginePath; /** @internal */ static instance: ScanbotSDK; private static _ui2; get API(): BridgeApiEntrypoint; static get UI(): typeof ScanbotSDKUI; static initialize(options: InitializationOptions): Promise<ScanbotSDK>; storage: SBStorage; /** * View Components */ createDocumentScanner(configuration: DocumentScannerViewConfiguration): Promise<IDocumentScannerHandle>; createMrzScanner(configuration: MrzScannerViewConfiguration): Promise<IMrzScannerHandle>; createBarcodeScanner(configuration: BarcodeScannerViewConfiguration): Promise<IBarcodeScannerHandle>; createCheckScanner(config: CheckScannerViewConfiguration): Promise<ICheckScannerHandle>; openCroppingView(configuration: CroppingViewConfiguration): Promise<ICroppingViewHandle>; createTextPatternScanner(configuration: TextPatternScannerViewConfiguration): Promise<ITextPatternScannerHandle>; createVinScanner(configuration: VinScannerViewConfiguration): Promise<ITextPatternScannerHandle>; createDocumentQualityAnalyzer(configuration: DocumentQualityAnalyzerConfiguration): Promise<DocumentQualityAnalyzer>; createDocumentDataExtractor(config: DocumentDataExtractorViewConfiguration): Promise<IDocumentDataExtractorHandle>; /** * Image Operations */ toDataUrl(imageBuffer: ArrayBuffer): Promise<string>; /** * @param image {@displayType `Image`} {@link Image} * @param config {@displayType `DeepPartial<DocumentScannerConfiguration>`} {@link DocumentScannerConfiguration} * @param consumeType {@displayType `ConsumeType`} {@link ConsumeType} */ detectDocument(image: Image, config?: DeepPartial<DocumentScannerConfiguration>, consumeType?: ConsumeType): Promise<Config.DocumentDetectionResult | null>; detectAndCropDocument(image: Image, consumeImage?: ConsumeType): Promise<Config.DocumentScannerScanResponse | null>; /** * @param image An image URL (e.g. Data URL or HTTP URL) or an Image object * @param config {@displayType `DeepPartial<BarcodeScannerConfiguration>`} {@link BarcodeScannerConfiguration} * @param consumeType {@displayType `ConsumeType`} {@link ConsumeType} * */ detectBarcodes(image: string | Image, config?: DeepPartial<BarcodeScannerConfiguration>, consumeType?: ConsumeType): Promise<Config.BarcodeScannerResult>; parseBarcodeDocument(acceptedDocumentFormats: BarcodeDocumentFormat[], rawBarcodeData: string): Promise<BarcodeDocumentParserResult>; createCheckScannerEngine(config?: CheckScannerConfiguration): Promise<Config.CheckScanner>; createDocumentDataExtractorEngine(config?: DocumentDataExtractorConfiguration): Promise<Config.DocumentDataExtractor>; createMrzScannerEngine(config?: MrzScannerConfiguration): Promise<Config.MrzScanner>; createOcrEngine(): Promise<Config.OcrEngine>; createImageProcessor(): Promise<Config.ImageProcessor>; /** * Misc. Features */ getLicenseInfo(): Promise<LicenseInfo>; /** @param options {@displayType `DeepPartial<PdfConfiguration>`} {@link PdfConfiguration}*/ beginPdf(options: DeepPartial<PdfConfiguration>): Promise<PdfGenerator>; /** @param options {@displayType `DeepPartial<TiffGeneratorParameters>`} {@link TiffGeneratorParameters} */ beginTiff(options?: DeepPartial<TiffGeneratorParameters>): Promise<TiffGenerator>; imageToJpeg(image: Image, consumeImage?: ConsumeType): Promise<Uint8Array>; get version(): string; private _utils; get utils(): PublicUtils; /** @internal */ getBridge(consumeImage: ConsumeType): { __hasModuleFunction: (functionName: string) => Promise<any>; __callModuleFunction: (functionName: string, args?: any[]) => Promise<any>; BarcodeDocumentParser: Config.WorkerBarcodeDocumentParser; BarcodeScanner: Config.WorkerBarcodeScanner; CheckScanner: Config.WorkerCheckScanner; CreditCardScanner: Config.WorkerCreditCardScanner; DocumentClassifier: Config.WorkerDocumentClassifier; DocumentDataExtractor: Config.WorkerDocumentDataExtractor; DocumentQualityAnalyzer: Config.WorkerDocumentQualityAnalyzer; DocumentScanner: Config.WorkerDocumentScanner; ImageManipulator: Config.WorkerImageManipulator; ImageProcessor: Config.WorkerImageProcessor; MrzScanner: Config.WorkerMrzScanner; MrzParser: Config.WorkerMrzParser; OcrEngine: Config.WorkerOcrEngine; TextPatternScanner: Config.WorkerTextPatternScanner; VinScanner: Config.WorkerVinScanner; initialize: (licenseKey?: string, enginePath?: string, appId?: string, options?: Config.InitializeOptions) => Promise<void>; getLicenseInfo: () => Promise<LicenseInfo>; encodeJpeg: (image: Image, quality?: number) => Promise<Uint8Array>; beginPdf: (options: { attributes?: { author?: string; creator?: string; title?: string; subject?: string; keywords?: string; }; pageSize?: Config.PageSize; pageDirection?: Config.PageDirection; pageFit?: Config.PageFit; dpi?: number; jpegQuality?: number; resamplingMethod?: Config.ResamplingMethod; binarizationFilter?: ({ filterType?: number; } & { readonly _type: "LegacyFilter"; }) | ({ outputMode?: Config.OutputMode; } & { readonly _type: "ScanbotBinarizationFilter"; }) | ({ outputMode?: Config.OutputMode; denoise?: number; radius?: number; preset?: Config.BinarizationFilterPreset; } & { readonly _type: "CustomBinarizationFilter"; }) | ({ radius?: number; borderWidthFraction?: number; blackOutliersFraction?: number; whiteOutliersFraction?: number; contrastEnhancement?: number; colorEnhancement?: number; paperWhitening?: number; paperWhiteningBias?: number; } & { readonly _type: "ColorDocumentFilter"; }) | ({ brightness?: number; } & { readonly _type: "BrightnessFilter"; }) | ({ contrast?: number; } & { readonly _type: "ContrastFilter"; }) | ({ borderWidthFraction?: number; blackOutliersFraction?: number; whiteOutliersFraction?: number; } & { readonly _type: "GrayscaleFilter"; }) | ({ blackPoint?: number; whitePoint?: number; } & { readonly _type: "WhiteBlackPointFilter"; }); }) => Promise<Config.ObjectId<"PdfGenerationContext">>; addPageToPdf: (pdfOperation: Config.ObjectId<"PdfGenerationContext">, image: Image, binarization?: Config.PageBinarization) => Promise<void>; addPageToPdfWithOcr: (pdfOperation: Config.ObjectId<"PdfGenerationContext">, image: Image, binarization?: Config.PageBinarization) => Promise<void>; completePdf: (pdfOperation: Config.ObjectId<"PdfGenerationContext">) => Promise<Uint8Array>; beginTiff: (options: { compression?: Config.CompressionMode; jpegQuality?: number; zipCompressionLevel?: number; dpi?: number; userFields?: { tag?: number; name?: string; value?: ({ value?: number; } & { readonly _type: "UserFieldDoubleValue"; }) | ({ value?: string; } & { readonly _type: "UserFieldStringValue"; }) | ({ value?: number; } & { readonly _type: "UserFieldIntValue"; }); }[]; binarizationFilter?: ({ filterType?: number; } & { readonly _type: "LegacyFilter"; }) | ({ outputMode?: Config.OutputMode; } & { readonly _type: "ScanbotBinarizationFilter"; }) | ({ outputMode?: Config.OutputMode; denoise?: number; radius?: number; preset?: Config.BinarizationFilterPreset; } & { readonly _type: "CustomBinarizationFilter"; }) | ({ radius?: number; borderWidthFraction?: number; blackOutliersFraction?: number; whiteOutliersFraction?: number; contrastEnhancement?: number; colorEnhancement?: number; paperWhitening?: number; paperWhiteningBias?: number; } & { readonly _type: "ColorDocumentFilter"; }) | ({ brightness?: number; } & { readonly _type: "BrightnessFilter"; }) | ({ contrast?: number; } & { readonly _type: "ContrastFilter"; }) | ({ borderWidthFraction?: number; blackOutliersFraction?: number; whiteOutliersFraction?: number; } & { readonly _type: "GrayscaleFilter"; }) | ({ blackPoint?: number; whitePoint?: number; } & { readonly _type: "WhiteBlackPointFilter"; }); }) => Promise<Config.ObjectId<"TiffGenerationContext">>; addPageToTiff: (tiffOperation: Config.ObjectId<"TiffGenerationContext">, image: Image, binarization: Config.PageBinarization) => Promise<void>; completeTiff: (tiffOperation: Config.ObjectId<"TiffGenerationContext">) => Promise<Uint8Array>; releaseObject: <T>(objectToken: Config.ObjectId<T>) => Promise<void>; version: () => Promise<string>; }; private licenseCheck; static cameras: BrowserCameras; static Config: typeof Config; /** * Used for testing purposes only. * @internal */ static _stats: Stats; }