Restrict scanning to specific document types or countries
You can restrict which documents are accepted at scan time with a document class filter.
Add a filter
The following filter allows only Croatian and German documents. Any other document is rejected.
- Web (TS)
- Android (Kotlin)
- iOS (Swift)
const blinkId = await createBlinkId({ licenseKey: "your-license-key" });
const cleanup = blinkId.addDocumentClassFilter((documentClassInfo) => {
return documentClassInfo.country?.id === "croatia" || documentClassInfo.country?.id === "germany";
});
import com.microblink.blinkid.core.result.classinfo.CountryId
import com.microblink.blinkid.core.result.classinfo.DocumentClassInfo
import com.microblink.blinkid.ux.settings.ClassFilter
import kotlinx.parcelize.Parcelize
@Parcelize
class CountryClassFilter : ClassFilter {
override fun classAllowed(documentClass: DocumentClassInfo): Boolean {
return documentClass.country?.id == CountryId.Croatia ||
documentClass.country?.id == CountryId.Germany
}
}
BlinkIdCameraScanningScreen(
blinkIdSdk = blinkIdSdk,
uxSettings = BlinkIdUxSettings(classFilter = CountryClassFilter()),
onScanningSuccess = { result ->
// use result
},
onScanningCanceled = { }
)
class CountryClassFilter: BlinkIDClassFilter {
func classAllowed(classInfo: BlinkIDSDK.DocumentClassInfo) -> Bool {
classInfo.country?.countryId == .croatia || classInfo.country?.countryId == .germany
}
}
let analyzer = try await BlinkIDAnalyzer(
sdk: sdk,
classFilter: CountryClassFilter()
)