react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
256 lines (208 loc) • 6.51 kB
TypeScript
import {
DocumentScannerConfiguration,
BarcodeScannerConfiguration,
BatchBarcodeScannerConfiguration,
CroppingScreenConfiguration,
MrzScannerConfiguration,
HealthInsuranceCardScannerConfiguration,
IdCardScannerConfiguration,
TextDataScannerConfiguration,
NFCPassportReaderConfiguration,
LicensePlateScannerConfiguration,
DetectBarcodesOnImageArguments,
DetectBarcodesOnImagesArguments,
ExtractPagesFromPdfArguments,
ExtractImagesFromPdfArguments,
ExtractPagesFromPdfResult,
ExtractImagesFromPdfResult,
MedicalCertificateScannerConfiguration,
} from './configuration';
export {
DocumentScannerConfiguration,
BarcodeScannerConfiguration,
BatchBarcodeScannerConfiguration,
CroppingScreenConfiguration,
MrzScannerConfiguration,
HealthInsuranceCardScannerConfiguration,
IdCardScannerConfiguration,
TextDataScannerConfiguration,
NFCPassportReaderConfiguration,
};
import {
DetectionStatus,
ImageFilter,
Status,
MRZDocumentType,
BarcodeFormat,
CameraImageFormat,
OCROutputFormat,
PDFPageSize,
CameraPreviewMode,
LicenseStatus,
TIFFCompression,
FileEncryptionMode,
MSIPlesseyChecksumAlgorithm,
} from './enum';
export {
DetectionStatus,
ImageFilter,
Status,
MRZDocumentType,
BarcodeFormat,
CameraImageFormat,
OCROutputFormat,
PDFPageSize,
CameraPreviewMode,
LicenseStatus,
TIFFCompression,
FileEncryptionMode,
MSIPlesseyChecksumAlgorithm,
};
import {
DocumentScannerResult,
CroppingResult,
MrzResult,
BarcodeResult,
DocumentDetectionResult,
MrzRecognitionResult,
HealthInsuranceCardScannerResult,
IdCardScannerResult,
TextDataScannerResult,
NFCPassportReaderResult,
LicensePlateScannerResult,
DetectBarcodesOnImagesResult,
MedicalCertificateScannerResult,
} from './result';
export {
DocumentScannerResult,
CroppingResult,
MrzResult,
BarcodeResult,
DocumentDetectionResult,
MrzRecognitionResult,
HealthInsuranceCardScannerResult,
IdCardScannerResult,
TextDataScannerResult,
};
import {Page, Point, Size, InitializationOptions, LicenseInfo} from './model';
export {Page, Point, Size, InitializationOptions, LicenseInfo};
export interface ScanbotSDKUI {
startDocumentScanner(
configuration: DocumentScannerConfiguration,
): Promise<DocumentScannerResult>;
closeDocumentScanner(): Promise<void>;
startCroppingScreen(
page: Page,
configuration: CroppingScreenConfiguration,
): Promise<CroppingResult>;
closeCroppingScreen(): Promise<void>;
startMrzScanner(configuration: MrzScannerConfiguration): Promise<MrzResult>;
closeMrzScanner(): Promise<void>;
startBarcodeScanner(
configuration: BarcodeScannerConfiguration,
): Promise<BarcodeResult>;
closeBarcodeScanner(): Promise<void>;
startBatchBarcodeScanner(
configuration: BatchBarcodeScannerConfiguration,
): Promise<BarcodeResult>;
closeBatchBarcodeScanner(): Promise<void>;
startEHICScanner(
configuration: HealthInsuranceCardScannerConfiguration,
): Promise<HealthInsuranceCardScannerResult>;
closeEHICScanner(): Promise<void>;
startIdCardScanner(
configuration: IdCardScannerConfiguration,
): Promise<IdCardScannerResult>;
closeIdCardScanner(): Promise<void>;
startTextDataScanner(
configuration: TextDataScannerConfiguration,
): Promise<TextDataScannerResult>;
closeTextDataScanner(): Promise<void>;
startNFCPassportReader(
configuration: NFCPassportReaderConfiguration,
): Promise<NFCPassportReaderResult>;
closeNFCPassportReader(): Promise<void>;
startLicensePlateScanner(
configuration: LicensePlateScannerConfiguration,
): Promise<LicensePlateScannerResult>;
closeLicensePlateScanner(): Promise<void>;
startMedicalCertificateScanner(
configuration: MedicalCertificateScannerConfiguration,
): Promise<MedicalCertificateScannerResult>;
closeMedicalCertificateScanner(): Promise<void>;
}
export interface ScanbotSDKInternal {
setNativeValidateProperty(result: string): void;
setNativeProcessProperty(result: string): void;
}
export interface ScanbotSDK {
UI: ScanbotSDKUI;
Internal: ScanbotSDKInternal;
initializeSDK(options: InitializationOptions): Promise<{result: string}>;
getLicenseInfo(): Promise<LicenseInfo>;
detectDocument(imageFileUri: string): Promise<DocumentDetectionResult>;
detectBarcodesOnImage(
args: DetectBarcodesOnImageArguments,
): Promise<BarcodeResult>;
detectBarcodesOnImages(
args: DetectBarcodesOnImagesArguments,
): Promise<DetectBarcodesOnImagesResult>;
applyFilter(imageFileUri: string, filter: ImageFilter): Promise<string>;
getOCRConfigs(): Promise<{
languageDataPath: string;
installedLanguages: string[];
}>;
performOCR(
imageFileUris: string[],
languages: string[],
options: {
outputFormat?: OCROutputFormat;
},
): Promise<{
plainText?: string;
pdfFileUri?: string;
jsonData?: any;
}>;
createPDF(
imageFileUris: string[],
pageSize: PDFPageSize,
): Promise<{
pdfFileUri: string;
}>;
writeTIFF(
imageFileUris: string[],
options: {
oneBitEncoded?: boolean;
dpi?: number;
compression?: TIFFCompression;
},
): Promise<{
tiffFileUri: string;
}>;
rotateImage(imageFileUri: string, degrees: number): Promise<string>;
createPage(imageUri: string): Promise<Page>;
setDocumentImage(page: Page, imageUri: string): Promise<Page>;
detectDocumentOnPage(page: Page): Promise<Page>;
estimateBlur(args: {imageFileUri: string}): Promise<{blur: number}>;
applyImageFilterOnPage(page: Page, filter: ImageFilter): Promise<Page>;
rotatePage(page: Page, times: number): Promise<Page>;
getFilteredDocumentPreviewUri(
page: Page,
filter: ImageFilter,
): Promise<string>;
recognizeMrz(imageFileUri: string): Promise<MrzRecognitionResult>;
removePage(page: Page): Promise<void>;
refreshImageUris(args: {pages: Page[]}): Promise<{pages: Page[]}>;
cleanup(): Promise<void>;
getImageData(imageFileUri: string): Promise<{base64ImageData: string}>;
extractPagesFromPdf(
args: ExtractPagesFromPdfArguments,
): Promise<ExtractPagesFromPdfResult>;
extractImagesFromPdf(
args: ExtractImagesFromPdfArguments,
): Promise<ExtractImagesFromPdfResult>;
}
declare var ScanbotSDK: ScanbotSDK;
export default ScanbotSDK;
export * from './components/barcode-camera-view/scanbot-barcode-camera-view';
export * from './components/barcode-camera-view/scanbot-barcode-camera-view-types';