# Initialization

The **DocumentReader** initialization **works** fully **offline**. It simply use license file, which you can get here: [licensing.regulaforensics.com](https://licensing.regulaforensics.com/). You should add the `regula.license` file to your project.

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

```java
//Reading the license from raw resource file
InputStream licInput = getResources().openRawResource(R.raw.regula);
int available = licInput.available();
byte[] license = new byte[available];
//noinspection ResultOfMethodCallIgnored
licInput.read(license);

DocumentReader.Instance().initializeReader(MainActivity.this, license, new IDocumentReaderInitCompletion() {
    @Override
    public void onInitCompleted(boolean success, Throwable error) {
        if (success) {
            //initialization successful
        } else {
            //Initialization was not successful
        }
    }
});
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
//Reading the license from raw resource file
val licInput = resources.openRawResource(R.raw.regula)
val available = licInput.available()
val license = ByteArray(available)

licInput.read(license)

DocumentReader.Instance().initializeReader(
    this@MainActivity, license
    ) { success, error_initializeReader ->
        if (success) {
            //initialization successful
        } else {
            //Initialization was not successful
        }
}
```

{% endtab %}
{% endtabs %}
