core library Core

Core types, models, and utilities for the Scanbot SDK.

This library provides foundational types and internal models for barcode recognition, document processing, image handling, and serialization. It is intended to be reused across higher-level Scanbot SDK components, including UI layers and platform integrations.

The library includes data models for barcode types, document fields, geometries, images, and object pools, as well as platform abstraction and JSON serialization logic.

Classes

AAMVA
AAMVA
AAMVADLID
Driver License Or ID Document
AAMVADLIDFieldNames
Constants for the field type names of AAMVA.DLID.
AAMVADriverLicense
Driver License. File type "DL".
AAMVAEnhancedDriverLicense
Enhanced Driver License. File type "EN".
AAMVAFieldNames
Constants for the field type names of AAMVA.
AAMVAIDCard
ID Card. File type "ID".
AAMVAMotorCarrierData
Motor Carrier Data. File type "MC".
AAMVAMotorCarrierDataFieldNames
Constants for the field type names of AAMVA.MotorCarrierData.
AAMVARawDocument
The raw document as was parsed from the barcode. The original field key names and field values as they appear in the barcode are left as-is. The mnemonic field keys from the AAMVA specification are not replaced with human-readable names. No field value normalization, like ISO 8601 date reformatting, etc., is done.
AAMVARegistrantAndVehicleData
Registrant And Vehicle Data. File type "IR".
AAMVARegistrantAndVehicleDataFieldNames
Constants for the field type names of AAMVA.RegistrantAndVehicleData.
AAMVARegistrationData
Registration Data. File type "RG".
AAMVARegistrationDataFieldNames
Constants for the field type names of AAMVA.RegistrationData.
AAMVATitleData
Title Data. File type "TD".
AAMVATitleDataFieldNames
Constants for the field type names of AAMVA.TitleData.
AAMVAVehicleData
Vehicle Data. File type "VH".
AAMVAVehicleDataFieldNames
Constants for the field type names of AAMVA.VehicleData.
AAMVAVehicleOwnerData
Vehicle Owner Data. File type "OW".
AAMVAVehicleOwnerDataFieldNames
Constants for the field type names of AAMVA.VehicleOwnerData.
AAMVAVehicleSafetyInspectionData
Vehicle Safety Inspection Data. File type "VS".
AAMVAVehicleSafetyInspectionDataFieldNames
Constants for the field type names of AAMVA.VehicleSafetyInspectionData.
AspectRatio
Aspect ratio is the ratio of the width to the height of an image or screen.
AutoReleasable
AutoReleasePool
BarcodeDocumentFormats
Barcode document formats.
BarcodeFormatAustraliaPostConfiguration
Australia Post barcode configuration. Add to scanner configuration to scan Australia Post barcodes.
BarcodeFormatAztecConfiguration
Aztec configuration. Add to scanner configuration to scan Aztec codes.
BarcodeFormatCodabarConfiguration
Codabar barcode configuration. Add to scanner configuration to scan Codabar barcodes.
BarcodeFormatCode11Configuration
Code 11 barcode configuration. Add to scanner configuration to scan Code 11 barcodes.
BarcodeFormatCode128Configuration
Code 128 barcode configuration. Add to scanner configuration to scan Code 128 barcodes.
BarcodeFormatCode2Of5Configuration
Configuration for all 2-of-5 barcode types (except Interleaved 2-of-5, which is handled by ItfConfig). Add to scanner configuration to scan Code 25, IATA 2-of-5 and Industrial 2-of-5 barcodes.
BarcodeFormatCode39Configuration
Code 39 barcode and derivatives configuration. Add to scanner configuration to scan Code 39, Code 32 (Italian Pharmacode), PZN7 and PZN8 (Pharmazentralnummer) barcodes.
BarcodeFormatCode93Configuration
Code 93 barcode configuration. Add to scanner configuration to scan Code 93 barcodes.
BarcodeFormatCommonConfiguration
Convenience configuration for enabling the scanning of multiple barcode formats with a common configuration. Add to scanner configuration to enable and configure the scanning of multiple barcodes.
BarcodeFormatCommonFourStateConfiguration
Convenience configuration for enabling the scanning of multiple four-state barcode formats with a common configuration. Add to scanner configuration to enable and configure the scanning of multiple four-state codes.
BarcodeFormatCommonOneDConfiguration
Convenience configuration for enabling the scanning of multiple linear (1D) barcode formats with a common configuration. Add to scanner configuration to enable and configure the scanning of multiple linear (1D) barcode formats.
BarcodeFormatCommonTwoDConfiguration
Convenience configuration for enabling the scanning of multiple 2D codes with a common configuration. Add to scanner configuration to enable and configure the scanning of multiple 2D codes.
BarcodeFormatConfigurationBase
Base class for all barcode configurations.
BarcodeFormatDataBarConfiguration
GS1 DataBar barcode configuration. Add to scanner configuration to scan GS1 DataBar-14, GS1 DataBar-14 Truncated, GS1 DataBar-14 Stacked and GS1 DataBar-14 Stacked Omnidirectional barcodes.
BarcodeFormatDataBarExpandedConfiguration
GS1 DataBar Expanded barcode configuration. Add to scanner configuration to scan GS1 DataBar Expanded and GS1 DataBar Expanded Stacked barcodes.
BarcodeFormatDataBarLimitedConfiguration
GS1 DataBar Limited barcode configuration. Add to scanner configuration to scan GS1 DataBar Limited barcodes.
BarcodeFormatDataMatrixConfiguration
DataMatrix configuration. Add to scanner configuration to scan DataMatrix and DataMatrix rectangular extensions (DMRE) codes.
BarcodeFormatFourStateConfigurationBase
Base class for all four-state barcode configurations.
BarcodeFormatGs1CompositeConfiguration
GS1 Composite configuration. Add to scanner configuration to scan GS1 Composite barcodes.
BarcodeFormatItfConfiguration
ITF (Interleaved 2-of-5) barcode configuration. Add to scanner configuration to scan Interleaved 2-of-5 (ITF) barcodes.
BarcodeFormatJapanPostConfiguration
Japan Post barcode configuration. Add to scanner configuration to scan Japan Post barcodes.
BarcodeFormatMaxiCodeConfiguration
MaxiCode configuration. Add to scanner configuration to scan MaxiCode codes.
BarcodeFormatMicroPdf417Configuration
MicroPDF417 configuration. Add to scanner configuration to scan MicroPDF417 codes.
BarcodeFormatMsiPlesseyConfiguration
MSI Plessey barcode configuration. Add to scanner configuration to scan MSI Plessey barcodes.
BarcodeFormatOneDConfigurationBase
Base class for all linear (1D) barcode configurations.
BarcodeFormatPdf417Configuration
PDF417 configuration. Add to scanner configuration to scan PDF417 codes.
BarcodeFormatPharmaCodeConfiguration
PharmaCode barcode configuration. Add to scanner configuration to scan linear (1D) Laetus Pharmacode barcodes. Two-track PharmaCode scanning is configured separately through the PharmaCodeTwoTrackConfig class.
BarcodeFormatPharmaCodeTwoTrackConfiguration
PHARMA_CODE_TWO_TRACK barcode configuration. Add to scanner configuration to scan Laetus two-track PharmaCode barcodes. Linear (i.e. one-track) PharmaCode scanning is configured separately through the PharmaCodeConfig class.
BarcodeFormatQrCodeConfiguration
QR Code configuration. Add to scanner configuration to scan QR codes, Micro QR codes and rectangular Micro QR (rMQR) codes.
BarcodeFormatRoyalMailConfiguration
Royal Mail barcode configuration. Add to scanner configuration to scan Royal Mail (a.k.a. RM4SCC, CBC, BPO 4-State) barcodes.
BarcodeFormatRoyalTntPostConfiguration
Royal TNT Post barcode configuration. Add to scanner configuration to scan Royal TNT Post (a.k.a. KIX, Klant IndeX) barcodes.
BarcodeFormats
Lists of barcode formats to decode.
BarcodeFormatTwoDConfigurationBase
Base class for all 2D barcode configurations.
BarcodeFormatUpcEanConfiguration
UPC/EAN barcode configuration. Add to scanner configuration to scan EAN-8, EAN-13, UPC-E and UPC-A barcodes.
BarcodeFormatUspsIntelligentMailConfiguration
USPS Intelligent Mail barcode configuration. Add to scanner configuration to scan USPS Intelligent Mail (a.k.a. USPS OneCode, USPS-STD-11) barcodes.
BarcodeItem
A single barcode found in the input image. Barcodes with the same content but different locations in the image are considered separate barcodes.
BarcodeScannerConfiguration
Configuration for the barcode scanner.
BarcodeScannerResult
The result of barcode scanning.
BasicImageLoadOptions
Basic options for loading image.
BoardingPass
Boarding Pass
BoardingPassFieldNames
Constants for the field type names of BoardingPass.
BoardingPassLeg
Leg of the journey
BoardingPassLegFieldNames
Constants for the field type names of BoardingPass.Leg.
BufferImageLoadOptions
Options for loading image from buffer.
CBufferImageLoadOptions
CEncodeImageOptions
CImageInfo
CPathImageLoadOptions
CRectangleInt
CSaveImageOptions
DEMedicalPlan
Medical Plan
DEMedicalPlanDoctor
Doctor
DEMedicalPlanDoctorFieldNames
Constants for the field type names of DEMedicalPlan.Doctor.
DEMedicalPlanFieldNames
Constants for the field type names of DEMedicalPlan.
DEMedicalPlanPatient
Patient
DEMedicalPlanPatientFieldNames
Constants for the field type names of DEMedicalPlan.Patient.
DEMedicalPlanSubheading
Subheading
DEMedicalPlanSubheadingFieldNames
Constants for the field type names of DEMedicalPlan.Subheading.
DEMedicalPlanSubheadingMedicine
Medicine
DEMedicalPlanSubheadingMedicineFieldNames
Constants for the field type names of DEMedicalPlan.Subheading.Medicine.
DEMedicalPlanSubheadingMedicineSubstance
Substance
DEMedicalPlanSubheadingMedicineSubstanceFieldNames
Constants for the field type names of DEMedicalPlan.Subheading.Medicine.Substance.
DEMedicalPlanSubheadingPrescription
Prescription
DEMedicalPlanSubheadingPrescriptionFieldNames
Constants for the field type names of DEMedicalPlan.Subheading.Prescription.
EncodeImageOptions
Options for encoding image.
Field
Generic document field.
FieldParsedData
Parsed data.
FieldType
Generic Document Type.
FieldWrapper
GenericDocument
Generic document.
GenericDocumentType
Generic Document Type.
GenericDocumentWrapper
GS1
GS1
GS1Element
GS1 Element
GS1ElementFieldNames
Constants for the field type names of GS1.Element.
GS1ElementValidationError
Validation Errors
GS1ElementValidationErrorFieldNames
Constants for the field type names of GS1.Element.ValidationError.
HIBC
HIBC
HIBCFieldNames
Constants for the field type names of HIBC.
IDCardPDF417
ID Card
IDCardPDF417FieldNames
Constants for the field type names of IDCardPDF417.
ImageInfo
Image Info.
ImageProfile
ImageRef profile part specific to image information.
ImageRef
ImageRefPoolSnapshot
Snapshot of all alive ImageRefs.
ImageRefPoolSnapshotsDiff
difference between two snapshots.
ImageRefProfile
ImageRef profile which provides detailed information about stored object.
ImageSource
Description of source from which the ImageRef was created.
Insets
LineSegmentFloat
Represents a line segment in 2D space.
LineSegmentInt
Represents a line segment in 2D space.
MedicalCertificate
Medical Certificate
MedicalCertificateFieldNames
Constants for the field type names of MedicalCertificate.
OcrResult
Result of OCR text recognition.
PathImageLoadOptions
Options for loading image from path.
RawImageLoadOptions
Options for loading images that come from sensor.
RefCountedObjectProfile
Profile info of a reference-counted stored object.
SaveImageOptions
Options for saving image to a path.
SEPA
SEPA
SEPAFieldNames
Constants for the field type names of SEPA.
SwissQR
SwissQR
SwissQRFieldNames
Constants for the field type names of SwissQR.
TextFieldWrapper
Text field wrapper
ToJsonConfiguration
Configuration used to serialize an object to json.
ValidatedTextFieldWrapper
Text field wrapper
VCard
VCard
VCardAnniversary
Anniversary
VCardBirthday
Birthday
VCardBusyTimeURL
Busy Time URL
VCardCalendarURI
Calendar URI
VCardCalendarURIForRequests
Calendar URI For Requests
VCardCategories
Categories
VCardClientPIDMap
Client PID Map
VCardCustom
Custom
VCardDeliveryAddress
Delivery Address
VCardEmail
Email
VCardEntry
VCard Entry
VCardEntryFieldNames
Constants for the field type names of VCard.Entry.
VCardFirstName
First Name
VCardGender
Gender
VCardGeoLocation
Geo Location
VCardIMPP
IMPP
VCardKind
Kind
VCardLanguages
Languages
Logo
VCardMember
Member
VCardName
Name
VCardNickname
Nickname
VCardNote
Note
VCardOrganisation
Organisation
VCardPhoto
Photo
VCardProductId
ProductId
VCardPublicKey
Public Key
VCardRelated
Related
VCardRevision
Revision
VCardRole
Role
VCardSound
Sound
VCardSource
Source
VCardTelephoneNumber
Telephone Number
VCardTimeZone
Time Zone
VCardTitle
Title
VCardUID
UID
VCardURL
URL
VCardVersion
Version
VCardXML
XML
ZoomRange

Enums

AustraliaPostCustomerFormat
Can be either numeric or alphanumeric and is only relevant for Format Codes 59 and 62.
BarcodeDocumentFormat
Type of barcode document format used.
BarcodeFormat
Enumerates barcode formats.
BarcodeOverlayTextFormat
BarcodeScannerEngineMode
The engine mode for barcode scanning.
BufferLoadMode
Image Ref Buffer Load Mode.
CommonFieldType
Common field types.
EncodingFormat
Image Encoding Format.
EncryptionMode
Encryption/Decryption mode to be used when an image is loaded/saved.
FieldDataFormat
Type of parsing applied to field.
FieldValidationStatus
Field validation status.
Gs1Handling
GS1 message handling options. The GS1 standard defines a key-value format for business-centric data that can be encoded into many 1D and 2D barcode types. https://ref.gs1.org/standards/genspecs/
ImageFormat
ImageRotation
Image rotation.
ImageSourceType
The type of source which originated the underlying image.
MsiPlesseyChecksumAlgorithm
Checksum algorithm for MSI_PLESSEY.
PathLoadMode
Image Ref Path Load Mode.
UpcEanExtensionBehavior
Behavior when scanning UPC/EAN barcodes with EAN-2 or EAN-5 extensions.

Extensions

GenericDocumentExtension on GenericDocument
Extension function to GenericDocument to make it easier to access fields.

Functions

autorelease<R>(R computation()) → R

Typedefs

AcquireSerializedReference = bool Function(Pointer<Utf8> uuid)
AcquireSerializedReferenceNative = Bool Function(Pointer<Utf8> uuid)
BufferData = Pointer<Uint8> Function(Pointer<Opaque> buffer)
BufferDataNative = Pointer<Uint8> Function(Pointer<Opaque> buffer)
BufferSize = int Function(Pointer<Opaque> buffer)
BufferSizeNative = Int Function(Pointer<Opaque> buffer)
Clear = void Function(Pointer<Utf8> uuid)
ClearNative = Void Function(Pointer<Utf8> uuid)
Clone = Pointer<Utf8> Function(Pointer<Utf8> uuid)
CloneNative = Pointer<Utf8> Function(Pointer<Utf8> uuid)
CreateFromEncodedBuffer = Pointer<Utf8> Function(Pointer<Uint8> data, int size, Pointer<CBufferImageLoadOptions> options)
CreateFromEncodedBufferNative = Pointer<Utf8> Function(Pointer<Uint8> data, Int size, Pointer<CBufferImageLoadOptions> options)
CreateFromPath = Pointer<Utf8> Function(Pointer<Utf8> path, Pointer<CPathImageLoadOptions> options)
CreateFromPathNative = Pointer<Utf8> Function(Pointer<Utf8> path, Pointer<CPathImageLoadOptions> options)
EncodeImage = Pointer<Opaque> Function(Pointer<Utf8> uuid, Pointer<CEncodeImageOptions> options)
EncodeImageNative = Pointer<Opaque> Function(Pointer<Utf8> uuid, Pointer<CEncodeImageOptions> options)
FreeBuffer = void Function(Pointer<Opaque> buffer)
FreeBufferNative = Void Function(Pointer<Opaque> buffer)
FreeString = void Function(Pointer<Utf8> str)
FreeStringNative = Void Function(Pointer<Utf8> str)
Hibernate = void Function(Pointer<Utf8> uuid)
HibernateNative = Void Function(Pointer<Utf8> uuid)
Info = CImageInfo Function(Pointer<Utf8> uuid)
InfoNative = CImageInfo Function(Pointer<Utf8> uuid)
ReleaseAllImages = void Function()
ReleaseAllImagesNative = Void Function()
ReleaseStrongReference = bool Function(Pointer<Utf8> uuid)
ReleaseStrongReferenceNative = Bool Function(Pointer<Utf8> uuid)
SaveImage = bool Function(Pointer<Utf8> uuid, Pointer<Utf8> path, Pointer<CSaveImageOptions> options)
SaveImageNative = Bool Function(Pointer<Utf8> uuid, Pointer<Utf8> path, Pointer<CSaveImageOptions> options)
UpgradeSerializedReference = bool Function(Pointer<Utf8> uuid)
UpgradeSerializedReferenceNative = Bool Function(Pointer<Utf8> uuid)