Development Guide (Document Capture)

This page contains the information of Usage, Configuration, Result of OkayCam for Android, iOS and React-native in Document Capture

Usage

For Android, the Camera can be launched by invoking the start method on OkayCameraActivity with context, license key, config and callback method as follow:

  • A License Key is required to start the SDK.

OkayCamDoc.start(this,license_key, config) {
success, images, exception -> 
    // do something with the result 
}

Configuration

  • The configuration object is optional if is calling from Kotlin.

  • The configuration object can be created and can be customized as the code below:

val config = OkayCamConfig.init(this)
config.topLabel.text = "Top Label"

List of Possible Configurations

This is a complete list of possible configurations that has been provided to the user to make any custom configuration:

-

Property

Description

Default Value

-

crop

crop the frame area

false

-

width

width to resize the image

null

-

torchBtnEnabled

to show torch button. If set to true, it will only be shown if onFlash from captureConfig is set to false.

false

-

imageQuality

quality of the image

1.0f (range from 0 to 1.0)

topLabel

text

text of the top label

" "(empty string)

topLabel

color

color of the top label

#FFFFFF

topLabel

size

text size of the top label

24

bottomLabel

text

text of the bottom label

" "(empty string)

bottomLabel

color

color of the bottom label

#FFFFFF

bottomLabel

size

text size of the bottom label

24

frame

size

size of the camera overlay frame

null

frame

color

color of the camera overlay frame

#FFFFFF

frame

content

content of the camera overlay frame (able to display vector drawable within the frame for guidance)

null (drawable id / file path)

-

showOverlay

transparent black background for camera overlay

true

timer

backgroundColor

background of the count down timer

#662196F3

timer

textColor

text color of the count down timer

#FFFFFF

-

captureBtnColor

color of the capture button

#EB144C

confirmBtnConfig

backgroundColor

background color of the confirm button

#EB144C

confirmBtnConfig

contentColor

content color of the confirm button

#FFFFFF

retakeBtnConfig

backgroundColor

background color of the retake button

#EB144C

retakeBtnConfig

contentColor

content color of the retake button

#FFFFFF

captureConfig

first

config for the first capture

delay: countdown before capture

onFlash: enable/disable flash

onImageQuality: enable/disable image quality check outputPath: desired output image path

SDK Version 2.x.x

delay:0s, onFlash:false, onImageQuality:true outputPath: null

SDK Version 1.x.x

delay:0s, onFlash:false, outputPath: null,

captureConfig

second

config for the second capture

delay: countdown before capture

onFlash: enable/disable flash

onImageQuality: enable/disable image quality check outputPath: desired output image path

SDK Version 2.x.x

delay:0s, onFlash:false, onImageQuality:false outputPath: null

SDK Version 1.x.x

delay:5s, onFlash:false, outputPath: null,

preview

title

ref image on preview screen

""(empty string)

preview

reflmg

ref image on preview screen

null

preview

instruction1

instruction on preview screen

""(empty string)

preview

instruction2

instruction on preview screen

""(empty string)

preview

instruction3

instruction on preview screen

""(empty string)

preview

backgrounColor

background color of preview screen

null

instruction

title

Instruction's title on camera capture screen

""(empty string)

instruction

refImage1

Instruction's reference image 1

null

instruction

refImage2

Instruction's reference image 2

null

showPreviewInstruction

Show or hide preview instruction for captured photos

false

If there is no value is set for properties, default values will be implied.

Result Callback

  • After the image is capture or cancelled by the user, the callback method will be called.

  • Result callback has 3 parameters as follow:

Result

Description

Success

It will be true if the image is captured successfully, else it will return false.

Images

If it is successful, images will contain the file path of 2 images in a list of format, else it will return null.

Exception

If it is successful, the exception will be null, else it will contain the exception that occurred during the image capturing.

Base64 Conversion

import com.innov8tif.okaycam.utils.BitmapUtils;

String result = BitmapUtils.INSTANCE.convertToBase64(image);

User Interface Example

The OkayCam contains two different user interface, one will be with flash and another one without flash. The only difference between these two user interfaces is one contains a timer (with flash) and the other one does not contain a timer (without flash) on the screen.

Example 1 (without flash):

Example 2 (with flash):

Example 3 (with frame content):

OkayCam Demo Preview

Last updated