veryfi is a Android module for communicating with the Veryfi OCR API
Install from Maven, a package manager for Java.
Add in your project build.gradle file the veryfi android SDK dependency:
dependencies {
implementation 'com.veryfi:veryfi-android:1.0.8'
}
If you don't have an account with Veryfi, please go ahead and register here: https://hub.veryfi.com/signup/api/
The veryfi library can be used to communicate with Veryfi API. All available functionality is described here https://veryfi.github.io/veryfi-android/android/com.veryfi.android/-client/index.html
Below is the sample kotlin script using veryfi to OCR and extract data from a document:
Create a basic layout with a TextView to set the response
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/response"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#535353"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Process a document
class MainActivity : AppCompatActivity() {
var clientId = "your_client_id"
var clientSecret = "your_client_secret"
var username = "your_username"
var apiKey = "your_password"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val client = VeryfiClientFactory.createClient(clientId, clientSecret, username, apiKey)
val categories = listOf("Advertising & Marketing", "Automotive")
val fileName = "example1.jpg"
client.processDocument(assets.open(fileName), fileName, categories, false, null, { jsonString ->
//Update UI with jsonString response
findViewById<TextView>(R.id.response).text = jsonString
}, { errorMessage ->
//handle errorMessage
})
}
}
Update a document
class MainActivity : AppCompatActivity() {
var clientId = "your_client_id"
var clientSecret = "your_client_secret"
var username = "your_username"
var apiKey = "your_password"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setContentView(R.layout.activity_main)
val documentId = "your_document_id"
val parameters = JSONObject()
parameters.put("category", "Meals & Entertainment")
parameters.put("total", 11.23)
client.updateDocument(documentId, parameters, { jsonString ->
//Update UI with jsonString response
findViewById<TextView>(R.id.response).text = jsonString
}, { errorMessage ->
//handle errorMessage
})
}
}
Visit https://docs.veryfi.com/ to access integration guides and usage notes in the Veryfi API Documentation Portal
If you run into any issue or need help installing or using the library, please contact [email protected].
If you found a bug in this library or would like new features added, then open an issue or pull requests against this repo!
To learn more about Veryfi visit https://www.veryfi.com/
Below is an introduction to the Android SDK.