# Custom settings

## Contents

* [Process Params](#process-params)
  * [Document processing](#document-processing)
    * [Multipage processing](#multipage-processing)
    * [Double-page spread processing](#double-page-spread-processing)
  * [Timeouts](#timeouts)
  * [Display formats](#display-formats)
  * [Logs](#logs)
  * [Scenario](#scenario)
  * [Barcode types](#barcode-types)
  * [Filters](#filters)
  * [Detection](#detection)
  * [Output images](#output-images)
  * [Custom params](#custom-params)
  * [Bounds](#bounds)
* [Functionality](#functionality)
  * [Camera Frame](#camera-frame)
  * [Buttons](#buttons)
  * [Detection](#detection-1)
  * [Orientation](#orientation)
  * [Scanning modes](#scanning-modes)
  * [Video settings](#video-settings)
  * [Extra info](#extra-info)
* [Customization](#customization)
  * [Camera Frame](#camera-frame-1)
  * [Buttons](#buttons-1)
  * [Status Message](#status-message)
  * [Result Status Message](#result-status-message)
  * [Custom Status Message](#custom-status-message)
  * [Animation](#animation)
  * [Visual Elements](#visual-elements)
  * [Skip Button](#skip-button)
  * [Loading Indicator](#loading-indicator)
  * [Background](#background)
* [RFID](#rfid)

## Process Params

### Document processing

#### Multipage processing

Allows to process more than one page of the document (if they are exist) for several iterations:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().multipageProcessing = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().multipageProcessing = true
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
If multipage processing is enabled, the SDK processes the front side of the document recognizes document type and checks in the database how many pages are available for this document. If there are any child documents (second page, back side) for this document type, multipage processing is triggered. It concerns scenarios which recognize document type.

The only exception is *MrzAndLocate* and *Locate* scenarios. In this case, if SDK detects an ID1-sized document, it will ask for the second page. Multi-page processing is not triggered for documents of other formats.
{% endhint %}

#### Double-page spread processing

Allows to process up to two pages of the document (so-called "a double-page spread") for one-shot if they are presented on the frame (image):

{% hint style="info" %}
This option is available for the following [scenarios](https://regulaforensics.gitbook.io/android/5.2-3/scenarios): DocType, Ocr, FullProcess, MrzOrBarcodeOrOcr, MrzOrOcr, LocateVisual\_And\_MrzOrOcr.
{% endhint %}

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().doublePageSpread = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().doublePageSpread = true
```

{% endtab %}
{% endtabs %}

### Timeouts

Allows you to set the time limit for document recognition (in seconds), beyond which the recognition does not continue regardless of its result. The countdown starts from the moment the scenario starts:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().timeout = 20.0;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().timeout = 20.0
```

{% endtab %}
{% endtabs %}

Allows you to set the time limit for document recognition (in seconds), beyond which the recognition does not continue regardless of its result. The countdown starts from the moment the document is detected:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().timeoutFromFirstDetect = 5.0;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().timeoutFromFirstDetect = 5.0
```

{% endtab %}
{% endtabs %}

Allows you to set the time limit for document recognition (in seconds), beyond which the recognition does not continue regardless of its result. The countdown starts from the moment the document type is recognized:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().timeoutFromFirstDocType = 3.0;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().timeoutFromFirstDocType = 3.0
```

{% endtab %}
{% endtabs %}

### Display formats

You can change the format string of displayed dates in the results. Mask examples: "dd/mm/yyyy", "mm/dd/yyyy", "dd-mm-yyyy", "mm-dd-yyyy", "dd/mm/yy":

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().dateFormat = "dd-mm-yyyy";
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().dateFormat = "dd-mm-yyyy"
```

{% endtab %}
{% endtabs %}

If you want to change the measure system, use one of the [`RGLMeasureSystem`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/rglmeasuresystem) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().measureSystem = RGLMeasureSystem.METRIC;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().measureSystem = RGLMeasureSystem.METRIC
```

{% endtab %}
{% endtabs %}

### Logs

If set, SDK logs will be written to the logcat:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().setLogs(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().setLogs(true)
```

{% endtab %}
{% endtabs %}

If set, logs will be saved (in case of reading problems). Turn on/off logs saving:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().debugSaveLogs = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().debugSaveLogs = true
```

{% endtab %}
{% endtabs %}

If set, input images will be saved (in case of reading problems). Turn on/off images saving:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().debugSaveImages = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().debugSaveImages = true
```

{% endtab %}
{% endtabs %}

If set, input images will be cropped and saved. Turn on/off image saving:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().debugSaveCroppedImages = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().debugSaveCroppedImages = true
```

{% endtab %}
{% endtabs %}

Allows to save RFID session data to the file in binary format:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().debugSaveRFIDSession = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().debugSaveRFIDSession = true
```

{% endtab %}
{% endtabs %}

Allows you to get the path to the folder of the current session. Before using this, enable save logs. Each new session provides different path:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().sessionLogFolder
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().sessionLogFolder
```

{% endtab %}
{% endtabs %}

### Scenario

Set proper scenario. You can find information of how to get available scenarios [here](https://regulaforensics.gitbook.io/android/5.2-3/scenarios):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().scenario = Scenario.SCENARIO_BARCODE;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().scenario = Scenario.SCENARIO_BARCODE
```

{% endtab %}
{% endtabs %}

You can assign a scenario to the *Capture button*. This scenario will be used if you press the button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().captureButtonScenario = Scenario.SCENARIO_LOCATE;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().captureButtonScenario = Scenario.SCENARIO_LOCATE
```

{% endtab %}
{% endtabs %}

### Barcode types

Set the types of [barcodes](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/barcodetype) that you wish to process:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().doBarcodes = new String[]{BarcodeType.valueOf(BarcodeType.PDF417), BarcodeType.valueOf(BarcodeType.QRCODE)};
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().doBarcodes = arrayOf(BarcodeType.valueOf(BarcodeType.PDF417), BarcodeType.valueOf(BarcodeType.QRCODE))
```

{% endtab %}
{% endtabs %}

There are documents that contain barcodes which data can be parsed only if document type verification is performed. The following property allows setting the barcode parser type which should be used during recognition. It allows parsing barcode data without performing document type verification:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().barcodeParserType = 123;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().barcodeParserType = 123
```

{% endtab %}
{% endtabs %}

### Filters

Set the [list of the document ID's](https://downloads.regulaforensics.com/work/SDK/doc/AllDocs/Documents%20List.xls) to process. All documents will be processed, if empty:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().documentIDList = new int[]{-274257313, -2004898043};
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().documentIDList = intArrayOf(-274257313, -2004898043)
```

{% endtab %}
{% endtabs %}

If you read document which contains MRZ, all fields will be extracted. If you read document with OCR, you can set the list of [field types](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype) that you wish to extract, other fields will be skipped during processing. All fields will be extracted, if the *fieldTypesFilter* is empty:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().fieldTypesFilter = new int[]{eVisualFieldType.FT_DATE_OF_EXPIRY};
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().fieldTypesFilter = intArrayOf(eVisualFieldType.FT_DATE_OF_EXPIRY)
```

{% endtab %}
{% endtabs %}

### Detection

If you enable this parameter, document focus check will be omitted:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().disableFocusingCheck = false;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().disableFocusingCheck = false
```

{% endtab %}
{% endtabs %}

Allows you to set the maximum value of the deviation of the corners of the document from the value of 90 degrees:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().perspectiveAngle = 5;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().perspectiveAngle = 5
```

{% endtab %}
{% endtabs %}

### Output images

If set, an original (uncropped) image will be received, which is sent to Core for processing:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().returnUncroppedImage = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().returnUncroppedImage = true
```

{% endtab %}
{% endtabs %}

Allows to build an integral image, taking into account the quality of fixation of each of the individual images:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().integralImage = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
 DocumentReader.Instance().processParams().integralImage = true
```

{% endtab %}
{% endtabs %}

Allows you to set the minimum acceptable DPI value:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().minDPI = 100;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().minDPI = 100
```

{% endtab %}
{% endtabs %}

### Custom params

Allows you to set a custom JSON which should be processed along with other process params:

{% tabs %}
{% tab title="Java" %}

```java
// allows you to depersonalize the document's data
DocumentReader.Instance().processParams().customParams = new JSONObject("{\"dePersonalize\":[{\"allTextFields\":true},{\"allGraphicFields\":true}]}");
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
// allows you to depersonalize the document's data
DocumentReader.Instance().processParams().customParams = JSONObject("{\"dePersonalize\":[{\"allTextFields\":true},{\"allGraphicFields\":true}]}")
```

{% endtab %}
{% endtabs %}

### Bounds

Allows you to manually set the document's bounds:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().processParams().manualCrop = true;
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().processParams().manualCrop = true
```

{% endtab %}
{% endtabs %}

## Functionality

### Camera Frame

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-1.png)

Set this setting to override default cropping frame on camera activity provided by scenario using one of [`DocReaderFrame`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/docreaderframe) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setCameraFrame(DocReaderFrame.MAX).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setCameraFrame(DocReaderFrame.MAX).apply()
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Frame is cropped by camera frame. If you set the camera frame to full screen, Core will crop frame by phone borders. Using this setting may lead to lower performance because of huge frame size. Any changes which are connected with camera frame alter scanning process. You can also set the [camera frame width](#camera-frame-1).
{% endhint %}

### Buttons

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-2.png)

Show/hide torch button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowTorchButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowTorchButton(true).apply()
```

{% endtab %}
{% endtabs %}

Show/hide close button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowCloseButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowCloseButton(true).apply()
```

{% endtab %}
{% endtabs %}

*Capture* allows to take picture and process as a single frame. Show/hide *capture* button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowCaptureButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowCaptureButton(true).apply()
```

{% endtab %}
{% endtabs %}

You can set the time interval when *Capture button* should be displayed after the document is detected. 5 seconds is used by default:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowCaptureButtonDelayFromDetect(5).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowCaptureButtonDelayFromDetect(5).apply()
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
To use this setting you should enable the setShowCaptureButton() parameter.
{% endhint %}

You can set the time interval when *Capture button* should be displayed after the scanning process is started. 10 seconds is used by default:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowCaptureButtonDelayFromStart(10).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowCaptureButtonDelayFromStart(10).apply()
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
To use this setting you should enable the setShowCaptureButton() parameter.
{% endhint %}

If set, frame expanding button will be shown on video capture screen. Show/hide change frame button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowChangeFrameButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowChangeFrameButton(true).apply()
```

{% endtab %}
{% endtabs %}

Show/hide skip next page button:

{% tabs %}
{% tab title="Java" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowSkipNextPageButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowSkipNextPageButton(true).apply()
```

{% endtab %}
{% endtabs %}

Show/hide the button for switching between cameras during processing:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setShowCameraSwitchButton(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setShowCameraSwitchButton(true).apply()
```

{% endtab %}
{% endtabs %}

### Detection

DocumentReader will receive data from Motion Sensor and pause scanning when device is moving. Turn on/off video capture motion control:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setVideoCaptureMotionControl(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setVideoCaptureMotionControl(true).apply()
```

{% endtab %}
{% endtabs %}

If set, scanning will be paused while camera is focusing (it can decrease camera processing speed):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setSkipFocusingFrames(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setSkipFocusingFrames(true).apply()
```

{% endtab %}
{% endtabs %}

### Orientation

Defines orientation of activities by using one of [`DocReaderOrientation`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/docreaderorientation) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setOrientation(DocReaderOrientation.PORTRAIT).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setOrientation(DocReaderOrientation.PORTRAIT).apply()
```

{% endtab %}
{% endtabs %}

### Scanning modes

Allows you to set the scanning mode:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setCaptureMode(CaptureMode.CAPTURE_VIDEO);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setCaptureMode(CaptureMode.CAPTURE_VIDEO)
```

{% endtab %}
{% endtabs %}

If set, as soon as a document is detected during the scanning process, picture will be taken and processed as a single frame. It is used for devices with poor-quality video preview:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setPictureOnBoundsReady(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setPictureOnBoundsReady(true).apply()
```

{% endtab %}
{% endtabs %}

### Video settings

Set the frame resolution, i.e. camera preview size:

{% tabs %}
{% tab title="Java" %}

```java
Camera camera = Camera.open(0);
Camera.Parameters parameters = camera.getParameters();
List<Camera.Size> sizes = parameters.getSupportedPreviewSizes();
DocumentReader.Instance().functionality().edit().setCameraSize(sizes.get(0)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val camera: Camera = Camera.open(0)
val parameters: Camera.Parameters = camera.getParameters()
val sizes: List<Camera.Size> = parameters.getSupportedPreviewSizes()
DocumentReader.Instance().functionality().edit().setCameraSize(sizes[0]).apply()
```

{% endtab %}
{% endtabs %}

### Extra info

If set, the metadata will be displayed over the camera preview during document processing, namely the [perspective angle value](#detection):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().functionality().edit().setDisplayMetadata(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().functionality().edit().setDisplayMetadata(true).apply()
```

{% endtab %}
{% endtabs %}

## Customization

### Camera Frame

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-1.png)

Set thickness of document bounds border on the video preview (dp):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameBorderWidth(5).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameBorderWidth(5).apply()
```

{% endtab %}
{% endtabs %}

Hex string of document bounds border color in default state:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameDefaultColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameDefaultColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

Hex string of document bounds border color in document detected state:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameActiveColor("#c300ff").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameActiveColor("#c300ff").apply()
```

{% endtab %}
{% endtabs %}

Defines the shape of document bounds border. Use one of [`FrameShapeType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/frameshapetype) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameShapeType(FrameShapeType.CORNER).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameShapeType(FrameShapeType.CORNER).apply()
```

{% endtab %}
{% endtabs %}

Defines the length (dp) of the corner side in shape mode [`FrameShapeType.CORNER`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/frameshapetype):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameLineLength(50).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameLineLength(50).apply()
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Frame is cropped by camera frame. Any changes with camera frame may alter scanning process. You can change the default camera frame view, even remove it. Discover [Functionality](#camera-frame) page to find out how to do it.
{% endhint %}

Allows to change the corners' radius of the camera frame:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameCornerRadius(10.0F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameCornerRadius(10.0F).apply()
```

{% endtab %}
{% endtabs %}

Allows to customize the beginning and ending of stroked lines of the camera frame:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameLineCap(Paint.Cap.ROUND).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameLineCap(Paint.Cap.ROUND).apply()
```

{% endtab %}
{% endtabs %}

Allows to specify the offsetWidth for the camera frame (only for the portrait orientation):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameOffsetWidth(50).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameOffsetWidth(50).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the aspect ratio of the camera frame for portrait mode:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFramePortraitAspectRatio(1.0F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFramePortraitAspectRatio(1.0F).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the aspect ratio of the camera frame for landscape mode:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameLandscapeAspectRatio(1.0F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameLandscapeAspectRatio(1.0F).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the position of the camera frame vertically:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraFrameVerticalPositionMultiplier(0.5F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraFrameVerticalPositionMultiplier(0.5F).apply()
```

{% endtab %}
{% endtabs %}

### Buttons

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-2.png)

Allows to change the Torch button's icon for both ON and OFF states:

{% tabs %}
{% tab title="Java" %}

```java
// For the ON state
DocumentReader.Instance().customization().edit().setTorchImageOn(getResources().getDrawable(R.drawable.icon)).apply();

// For the OFF state
DocumentReader.Instance().customization().edit().setTorchImageOff(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
// For the ON state
DocumentReader.Instance().customization().edit().setTorchImageOn(getDrawable(R.drawable.icon)).apply()

// For the OFF state
DocumentReader.Instance().customization().edit().setTorchImageOff(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the Close button's icon:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCloseButtonImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCloseButtonImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the Capture button's icon:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCaptureButtonImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCaptureButtonImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the Change Frame button's icon for both ON and OFF states:

{% tabs %}
{% tab title="Java" %}

```java
// For the ON state
DocumentReader.Instance().customization().edit().setChangeFrameExpandButtonImage(getResources().getDrawable(R.drawable.icon)).apply();

// For the OFF state
DocumentReader.Instance().customization().edit().setChangeFrameCollapseButtonImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
// For the ON state
DocumentReader.Instance().customization().edit().setChangeFrameExpandButtonImage(getDrawable(R.drawable.icon)).apply()

// For the OFF state
DocumentReader.Instance().customization().edit().setChangeFrameCollapseButtonImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the Camera Switch button's icon:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCameraSwitchButtonImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCameraSwitchButtonImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

### Status Message

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-3.png)

Set a status message next to the frame:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setStatus("Hello").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setStatus("Hello").apply()
```

{% endtab %}
{% endtabs %}

Turn on/off status message:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setShowStatusMessages(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setShowStatusMessages(true).apply()
```

{% endtab %}
{% endtabs %}

Set the text font for the status message, so-called hint message:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setStatusTextFont(Typeface.SERIF).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setStatusTextFont(Typeface.SERIF).apply()
```

{% endtab %}
{% endtabs %}

Size of main text status (sp):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setStatusTextSize(14).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setStatusTextSize(14).apply()
```

{% endtab %}
{% endtabs %}

Hex string of main text status color:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setStatusTextColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setStatusTextColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

Allows you to change the location of the status. For example, if you set the multiplier to 0.5 and the number of pixels by vertical is equal to 800, your message will be centralized and located at 200 px from top, i.e. (800 / 2) \* 0.5 = 200 px. If multiplier is equal to 1, the message will be centered. If multiplier is equal to zero, default location will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setStatusPositionMultiplier(0.5F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setStatusPositionMultiplier(0.5F).apply()
```

{% endtab %}
{% endtabs %}

### Result Status Message

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-4.png)

Set a result status message next to the frame:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatus("Hello").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatus("Hello").apply()
```

{% endtab %}
{% endtabs %}

Turn on/off result status message:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setShowResultStatusMessages(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setShowResultStatusMessages(true).apply()
```

{% endtab %}
{% endtabs %}

Set the text font for the current status:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatusTextFont(Typeface.SERIF).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatusTextFont(Typeface.SERIF).apply()
```

{% endtab %}
{% endtabs %}

Set the size of current text status (sp):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatusTextSize(14).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatusTextSize(14).apply()
```

{% endtab %}
{% endtabs %}

Hex string of current text status color:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatusTextColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatusTextColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

Hex string of current text status background color:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatusBackgroundColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatusBackgroundColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

Allows you to change the location of the results status. For example, if you set the multiplier to 0.5 and the number of pixels by vertical is equal to 800, your message will be centralized and located at 200 px from top, i.e. (800 / 2) \* 0.5 = 200 px. If multiplier is equal to 1, the message will be centered. If multiplier is equal to zero, default location will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setResultStatusPositionMultiplier(0.5F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setResultStatusPositionMultiplier(0.5F).apply()
```

{% endtab %}
{% endtabs %}

### Custom Status Message

Allows to create a custom status as [`SpannableString`](https://developer.android.com/reference/android/text/SpannableString):

{% tabs %}
{% tab title="Java" %}

```java
SpannableString str = new SpannableString("Hello, world!");
str.setSpan(new ForegroundColorSpan(Color.RED), 0, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
DocumentReader.Instance().customization().edit().setCustomLabelStatus(str).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val str = SpannableString("Hello, world!")
str.setSpan(ForegroundColorSpan(Color.RED), 0, str.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
DocumentReader.Instance().customization().edit().setCustomLabelStatus(str).apply()
```

{% endtab %}
{% endtabs %}

Allows you to change the location of the custom status. For example, if you set the multiplier to 0.5 and the number of pixels by vertical is equal to 800, your message will be centralized and located at 200 px from top, i.e. (800 / 2) \* 0.5 = 200 px. If multiplier is equal to 1, the message will be centered. If multiplier is equal to zero, default location will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setCustomStatusPositionMultiplier(1.0F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setCustomStatusPositionMultiplier(1.0F).apply()
```

{% endtab %}
{% endtabs %}

### Animation

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-5.png)

If set, animation showing how to position document will be displayed. Show/hide help animation:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setShowHelpAnimation(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setShowHelpAnimation(true).apply()
```

{% endtab %}
{% endtabs %}

You can set image for the help animation. If not set, default image will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setHelpAnimationImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setHelpAnimationImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the scaling of the help animation image, use one of [ImageView.ScaleType](https://developer.android.com/reference/android/widget/ImageView.ScaleType.html) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setHelpAnimationImageScaleType(ImageView.ScaleType.MATRIX).apply();
Matrix matrix = new Matrix();
DocumentReader.Instance().customization().edit().setHelpAnimationImageMatrix(matrix).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setHelpAnimationImageScaleType(ImageView.ScaleType.MATRIX).apply()
val matrix = Matrix()
DocumentReader.Instance().customization().edit().setHelpAnimationImageMatrix(matrix).apply()
```

{% endtab %}
{% endtabs %}

If set, expecting page turn animation will be shown. Turn on/off next page animation:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setShowNextPageAnimation(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setShowNextPageAnimation(true).apply()
```

{% endtab %}
{% endtabs %}

You can set front image for the multipage animation. If not set, default image will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the scaling of front image of the multipage animation, use one of [ImageView.ScaleType](https://developer.android.com/reference/android/widget/ImageView.ScaleType.html) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImageScaleType(ImageView.ScaleType.MATRIX).apply();
Matrix matrix = new Matrix();
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImageMatrix(matrix).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImageScaleType(ImageView.ScaleType.MATRIX).apply()
val matrix = Matrix()
DocumentReader.Instance().customization().edit().setMultipageAnimationFrontImageMatrix(matrix).apply()
```

{% endtab %}
{% endtabs %}

You can set back image for the multipage animation. If not set, default image will be used:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the scaling of back image of the multipage animation, use one of [ImageView.ScaleType](https://developer.android.com/reference/android/widget/ImageView.ScaleType.html) members:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImageScaleType(ImageView.ScaleType.MATRIX).apply();
Matrix matrix = new Matrix();
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImageMatrix(matrix).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImageScaleType(ImageView.ScaleType.MATRIX).apply()
val matrix = Matrix()
DocumentReader.Instance().customization().edit().setMultipageAnimationBackImageMatrix(matrix).apply()
```

{% endtab %}
{% endtabs %}

### Visual Elements

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-6.png)

Hex string of visual elements color (one for all):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setTintColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setTintColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

### Skip Button

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-7.png)

Set the background color to the multipage button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setMultipageButtonBackgroundColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setMultipageButtonBackgroundColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

### Loading Indicator

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-8.png)

Hex string of loading indicator(s) color. You can see it if you press the capture button:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setActivityIndicatorColor("#ff0000").apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setActivityIndicatorColor("#ff0000").apply()
```

{% endtab %}
{% endtabs %}

### Background

![](https://img.regulaforensics.com/Screenshots/SDK-5.0/Huawei-P20-Pro-9.png)

If set, background will be darkened around the document detection frame. Show/hide background mask:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setShowBackgroundMask(true).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setShowBackgroundMask(true).apply()
```

{% endtab %}
{% endtabs %}

Allows to change the intensity of the background mask:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setBackgroundMaskAlpha(0.5F).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setBackgroundMaskAlpha(0.5F).apply()
```

{% endtab %}
{% endtabs %}

Allows to set image within [camera frame](#camera-frame-1):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().customization().edit().setBorderBackgroundImage(getResources().getDrawable(R.drawable.icon)).apply();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().customization().edit().setBorderBackgroundImage(getDrawable(R.drawable.icon)).apply()
```

{% endtab %}
{% endtabs %}

## RFID

Allows you to automatically change the scenario settings depending on the type and results obtained during scanning of the last document. Default value is true:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setAutoSettings(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isAutoSettings = true
```

{% endtab %}
{% endtabs %}

Allows to set an authentication procedure type, conducting which is expected in the presence of all the objective conditions:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setAuthProcType(eRFID_AuthenticationProcedureType.aptAdvanced);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().setAuthProcType(eRFID_AuthenticationProcedureType.aptAdvanced)
```

{% endtab %}
{% endtabs %}

Allows to set a type of priority mechanism for organizing SM-channel (Security Messaging - a mechanism of protected data exchanging):

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setBaseSMProcedure(eRFID_AccessControl_ProcedureType.ACPT_BAC);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().setBaseSMProcedure(eRFID_AccessControl_ProcedureType.ACPT_BAC)
```

{% endtab %}
{% endtabs %}

Allows to set a data access type for PACE procedure:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setPacePasswordType(eRFID_Password_Type.PPT_MRZ);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().setPacePasswordType(eRFID_Password_Type.PPT_MRZ)
```

{% endtab %}
{% endtabs %}

Priority of using DS-certificates:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setPkdDSCertPriority(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isPkdDSCertPriority = false
```

{% endtab %}
{% endtabs %}

Use of CSCA-certificates submitted by individual data files only:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setPkdUseExternalCSCA(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isPkdUseExternalCSCA = false
```

{% endtab %}
{% endtabs %}

Level of trust to CSCA-certificates from PKD:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setTrustedPKD(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isTrustedPKD = false
```

{% endtab %}
{% endtabs %}

Logical sign of passive authentication performance:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setPassiveAuth(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isPassiveAuth = true
```

{% endtab %}
{% endtabs %}

Logical sign of the cancellation of active authentication procedure (AA) after the successful performance of chip authentication (CA) procedure:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setSkipAA(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isSkipAA = false
```

{% endtab %}
{% endtabs %}

Selection of the type of logical data profiler to use with the electronic document:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setProfilerType(eRFID_SDK_ProfilerType.SPT_DOC_9303_EDITION_2006);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().setProfilerType(eRFID_SDK_ProfilerType.SPT_DOC_9303_EDITION_2006)
```

{% endtab %}
{% endtabs %}

Strict ISO protocol:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setStrictProcessing(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isStrictProcessing = false
```

{% endtab %}
{% endtabs %}

Allows to specify whether the ePassport has to be read or not:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setReadEPassport(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isReadEPassport = true
```

{% endtab %}
{% endtabs %}

Allows to specify which data groups of the ePassport have to be read:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().ePassportDataGroups().setDG1(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().ePassportDataGroups().isDG1 = true
```

{% endtab %}
{% endtabs %}

Allows to specify whether the eID has to be read or not:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setReadEID(false);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isReadEID = false
```

{% endtab %}
{% endtabs %}

Allows to specify which data groups of the eID have to be read:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().eIDDataGroups().setDG1(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().eIDDataGroups().isDG1 = true
```

{% endtab %}
{% endtabs %}

Allows to specify whether the eDL has to be read or not:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().setReadEDL(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().isReadEDL = true
```

{% endtab %}
{% endtabs %}

Allows to specify which data groups of the eDL have to be read:

{% tabs %}
{% tab title="Java" %}

```java
DocumentReader.Instance().rfidScenario().eDLDataGroups().setDG1(true);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
DocumentReader.Instance().rfidScenario().eDLDataGroups().isDG1 = true
```

{% endtab %}
{% endtabs %}
