Skip to content

Commit f60069b

Browse files
committed
WIP
1 parent 1fc8496 commit f60069b

21 files changed

+100
-95
lines changed

document-scanner-ready-to-use-ui-example/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ android {
3939
}
4040
}
4141

42-
def scanbotSdkVersion = "7.1.1"
42+
def scanbotSdkVersion = "8.0.0.1158-SNAPSHOT"
4343

4444
dependencies {
4545

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/DocumentDetectionSnippet.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.example.scanbot.utils.toBitmap
1313
import kotlinx.coroutines.Dispatchers
1414
import kotlinx.coroutines.launch
1515
import kotlinx.coroutines.withContext
16+
import io.scanbot.common.getOrNull
1617
import io.scanbot.page.PageImageSource
1718
import io.scanbot.sdk.ScanbotSDK
1819
import io.scanbot.sdk.docprocessing.Document
@@ -59,12 +60,12 @@ class DocumentDetectionSnippet : AppCompatActivity() {
5960

6061
// @Tag("Direct Document detection on page")
6162
// Create a document detector instance
62-
val documentScanner = scanbotSDK.createDocumentScanner()
63+
val documentScanner = scanbotSDK.createDocumentScanner().getOrNull()
6364

6465
fun startCropping(document: Document) {
6566
document.pages.forEach { page ->
6667
// Run detection on the created page
67-
val detectionResult = documentScanner.scanFromBitmap(page.originalImage!!)
68+
val detectionResult = documentScanner?.run(page.originalImageRef!!)?.getOrNull()
6869
// Check the result and retrieve the detected polygon.
6970
if (detectionResult != null &&
7071
detectionResult.pointsNormalized.isNotEmpty() &&

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/DocumentQualityCheckSnippet.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ import com.example.scanbot.utils.toBitmap
1313
import kotlinx.coroutines.Dispatchers
1414
import kotlinx.coroutines.launch
1515
import kotlinx.coroutines.withContext
16+
import io.scanbot.common.getOrNull
1617
import io.scanbot.sdk.ScanbotSDK
1718
import io.scanbot.sdk.docprocessing.Document
18-
import io.scanbot.sdk.process.DocumentQuality
19+
import io.scanbot.sdk.documentqualityanalyzer.DocumentQuality
1920

2021

2122
class DocumentQualityCheckSnippet : AppCompatActivity() {
@@ -58,13 +59,13 @@ class DocumentQualityCheckSnippet : AppCompatActivity() {
5859

5960
// @Tag("Analyze the quality of a document image")
6061
// Create a document detector instance
61-
val qualityAnalyzer = scanbotSDK.createDocumentQualityAnalyzer()
62+
val qualityAnalyzer = scanbotSDK.createDocumentQualityAnalyzer().getOrNull()
6263

6364
fun startCropping(document: Document) {
6465
document.pages.forEach { page ->
6566
// Run quality check on the created page
6667
val documentQuality =
67-
qualityAnalyzer.analyzeOnBitmap(page.originalImage!!, orientation = 0)
68+
qualityAnalyzer?.run(page.originalImageRef!!)?.getOrNull()
6869
// proceed the result
6970
if (documentQuality != null) {
7071
printResult(documentQuality.quality)

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/ImageFilterSnippet.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ package com.example.scanbot.doc_code_snippet
33

44
import android.app.Activity
55
import android.content.Intent
6-
import android.graphics.Bitmap
76
import android.os.Bundle
87
import androidx.activity.result.contract.ActivityResultContracts
98
import androidx.appcompat.app.AppCompatActivity
109
import androidx.lifecycle.lifecycleScope
1110
import com.example.scanbot.utils.getUrisFromGalleryResult
12-
import com.example.scanbot.utils.toBitmap
1311
import kotlinx.coroutines.Dispatchers
1412
import kotlinx.coroutines.launch
1513
import kotlinx.coroutines.withContext
14+
import io.scanbot.common.getOrNull
1615
import io.scanbot.sdk.ScanbotSDK
17-
import io.scanbot.sdk.core.ImageRotation
18-
import io.scanbot.sdk.document.DocumentDetectionStatus
19-
import io.scanbot.sdk.imagefilters.BrightnessFilter
20-
import io.scanbot.sdk.imagefilters.OutputMode
21-
import io.scanbot.sdk.imagefilters.ScanbotBinarizationFilter
16+
import io.scanbot.sdk.documentscanner.DocumentDetectionStatus
17+
import io.scanbot.sdk.image.ImageRef
18+
import io.scanbot.sdk.image.ImageRotation
19+
import io.scanbot.sdk.imageprocessing.BrightnessFilter
20+
import io.scanbot.sdk.imageprocessing.OutputMode
21+
import io.scanbot.sdk.imageprocessing.ScanbotBinarizationFilter
2222
import io.scanbot.sdk.process.ImageProcessor
23+
import io.scanbot.sdk.ui_v2.document.utils.toImageRef
2324
import io.scanbot.sdk.util.isDefault
2425

2526

@@ -43,10 +44,9 @@ class ImageFilterSnippet : AppCompatActivity() {
4344
val document = scanbotSDK.documentApi.createDocument()
4445
getUrisFromGalleryResult(imagePickerResult)
4546
.asSequence() // process images one by one instead of collecting the whole list - less memory consumption
46-
.mapNotNull { it.toBitmap(contentResolver) }.apply {
47+
.mapNotNull { it.toImageRef(contentResolver) }.apply {
4748
startFiltering(this.toList())
4849
}
49-
5050
}
5151
}
5252
}
@@ -55,11 +55,11 @@ class ImageFilterSnippet : AppCompatActivity() {
5555

5656
// @Tag("Processing an image")
5757
// Create a document detector instance
58-
val documentScanner = scanbotSDK.createDocumentScanner()
59-
fun startFiltering(list: List<Bitmap>) {
58+
val documentScanner = scanbotSDK.createDocumentScanner().getOrNull()
59+
fun startFiltering(list: List<ImageRef>) {
6060
list.forEach { image ->
6161
// Run detection on the picked image
62-
val detectionResult = documentScanner.scanFromBitmap(image)
62+
val detectionResult = documentScanner?.run(image)?.getOrNull()
6363

6464
// Check the result and retrieve the detected polygon.
6565
if (detectionResult != null &&

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/ImageProcessorSnippet.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ import com.example.scanbot.utils.toBitmap
1313
import kotlinx.coroutines.Dispatchers
1414
import kotlinx.coroutines.launch
1515
import kotlinx.coroutines.withContext
16+
import io.scanbot.common.getOrNull
1617
import io.scanbot.sdk.ScanbotSDK
17-
import io.scanbot.sdk.document.DocumentDetectionStatus
18-
import io.scanbot.sdk.process.DocumentQuality
18+
import io.scanbot.sdk.documentqualityanalyzer.DocumentQuality
19+
import io.scanbot.sdk.documentscanner.DocumentDetectionStatus
20+
import io.scanbot.sdk.image.ImageRef
1921
import io.scanbot.sdk.process.ImageProcessor
22+
import io.scanbot.sdk.ui_v2.document.utils.toImageRef
2023
import io.scanbot.sdk.util.isDefault
2124

2225

@@ -39,7 +42,7 @@ class ImageProcessorSnippet : AppCompatActivity() {
3942
withContext(Dispatchers.Default) {
4043
getUrisFromGalleryResult(imagePickerResult)
4144
.asSequence() // process images one by one instead of collecting the whole list - less memory consumption
42-
.mapNotNull { it.toBitmap(contentResolver) }.apply {
45+
.mapNotNull { it.toImageRef(contentResolver) }.apply {
4346
startFiltering(this.toList())
4447
}
4548

@@ -51,11 +54,11 @@ class ImageProcessorSnippet : AppCompatActivity() {
5154

5255
// @Tag("Direct Document detection on image")
5356
// Create a quality analyzer instance
54-
val documentScanner = scanbotSDK.createDocumentScanner()
55-
fun startFiltering(list: List<Bitmap>) {
57+
val documentScanner = scanbotSDK.createDocumentScanner().getOrNull()
58+
fun startFiltering(list: List<ImageRef>) {
5659
list.forEach { image ->
5760
// Run detection on the picked image
58-
val detectionResult = documentScanner.scanFromBitmap(image)
61+
val detectionResult = documentScanner?.run(image)?.getOrNull()
5962

6063
// Check the result and retrieve the detected polygon.
6164
if (detectionResult != null &&

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/ImageQualityCheckSnippet.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ package com.example.scanbot.doc_code_snippet
33

44
import android.app.Activity
55
import android.content.Intent
6-
import android.graphics.Bitmap
76
import android.os.Bundle
87
import androidx.activity.result.contract.ActivityResultContracts
98
import androidx.appcompat.app.AppCompatActivity
109
import androidx.lifecycle.lifecycleScope
1110
import com.example.scanbot.utils.getUrisFromGalleryResult
12-
import com.example.scanbot.utils.toBitmap
1311
import kotlinx.coroutines.Dispatchers
1412
import kotlinx.coroutines.launch
1513
import kotlinx.coroutines.withContext
14+
import io.scanbot.common.getOrNull
1615
import io.scanbot.sdk.ScanbotSDK
17-
import io.scanbot.sdk.process.DocumentQuality
16+
import io.scanbot.sdk.documentqualityanalyzer.DocumentQuality
17+
import io.scanbot.sdk.image.ImageRef
18+
import io.scanbot.sdk.ui_v2.document.utils.toImageRef
1819

1920

2021
class ImageQualityCheckSnippet : AppCompatActivity() {
@@ -36,7 +37,7 @@ class ImageQualityCheckSnippet : AppCompatActivity() {
3637
withContext(Dispatchers.Default) {
3738
getUrisFromGalleryResult(imagePickerResult)
3839
.asSequence() // process images one by one instead of collecting the whole list - less memory consumption
39-
.mapNotNull { it.toBitmap(contentResolver) }.apply {
40+
.mapNotNull { it.toImageRef(contentResolver) }.apply {
4041
startFiltering(this.toList())
4142
}
4243

@@ -48,11 +49,11 @@ class ImageQualityCheckSnippet : AppCompatActivity() {
4849

4950
// @Tag("Analyze the quality of an image")
5051
// Create a document quality analyzer instance
51-
val qualityAnalyter = scanbotSDK.createDocumentQualityAnalyzer()
52-
fun startFiltering(list: List<Bitmap>) {
52+
val qualityAnalyter = scanbotSDK.createDocumentQualityAnalyzer().getOrNull()
53+
fun startFiltering(list: List<ImageRef>) {
5354
list.forEach { image ->
5455
// Run quality check on the picked image
55-
val documentQuality = qualityAnalyter.analyzeOnBitmap(image, orientation = 0)
56+
val documentQuality = qualityAnalyter?.run(image)?.getOrNull()
5657
// proceed the result
5758
if (documentQuality != null) {
5859
printResult(documentQuality.quality)

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/PageFilterSnippet.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ package com.example.scanbot.doc_code_snippet
44
import android.os.Bundle
55
import androidx.appcompat.app.AppCompatActivity
66
import io.scanbot.sdk.ScanbotSDK
7-
import io.scanbot.sdk.core.ImageRotation
8-
import io.scanbot.sdk.imagefilters.BrightnessFilter
9-
import io.scanbot.sdk.imagefilters.OutputMode
10-
import io.scanbot.sdk.imagefilters.ScanbotBinarizationFilter
7+
import io.scanbot.sdk.image.ImageRotation
8+
import io.scanbot.sdk.imageprocessing.BrightnessFilter
9+
import io.scanbot.sdk.imageprocessing.OutputMode
10+
import io.scanbot.sdk.imageprocessing.ScanbotBinarizationFilter
1111

1212

1313
class PageFilterSnippet : AppCompatActivity() {

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/PdfFromDocumentSnippet.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ import com.example.scanbot.utils.toBitmap
1414
import kotlinx.coroutines.Dispatchers
1515
import kotlinx.coroutines.launch
1616
import kotlinx.coroutines.withContext
17-
import io.scanbot.pdf.model.PageDirection
18-
import io.scanbot.pdf.model.PageFit
19-
import io.scanbot.pdf.model.PageSize
20-
import io.scanbot.pdf.model.PdfAttributes
21-
import io.scanbot.pdf.model.PdfConfiguration
22-
import io.scanbot.pdf.model.ResamplingMethod
2317
import io.scanbot.sdk.ScanbotSDK
2418
import io.scanbot.sdk.docprocessing.Document
19+
import io.scanbot.sdk.pdfgeneration.PageDirection
20+
import io.scanbot.sdk.pdfgeneration.PageFit
21+
import io.scanbot.sdk.pdfgeneration.PageSize
22+
import io.scanbot.sdk.pdfgeneration.PdfAttributes
23+
import io.scanbot.sdk.pdfgeneration.PdfConfiguration
24+
import io.scanbot.sdk.pdfgeneration.ResamplingMethod
2525

2626

2727
class PdfFromDocumentSnippet : AppCompatActivity() {

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/PdfFromImageSnippet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import com.example.scanbot.utils.getUrisFromGalleryResult
1212
import kotlinx.coroutines.Dispatchers
1313
import kotlinx.coroutines.launch
1414
import kotlinx.coroutines.withContext
15-
import io.scanbot.pdf.model.PdfConfiguration
1615
import io.scanbot.sdk.ScanbotSDK
16+
import io.scanbot.sdk.pdfgeneration.PdfConfiguration
1717

1818

1919
class PdfFromImageSnippet : AppCompatActivity() {

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/TiffFromDocumentSnippet.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ import kotlinx.coroutines.launch
1616
import kotlinx.coroutines.withContext
1717
import io.scanbot.sdk.ScanbotSDK
1818
import io.scanbot.sdk.docprocessing.Document
19-
import io.scanbot.sdk.imagefilters.ScanbotBinarizationFilter
20-
import io.scanbot.sdk.tiff.model.CompressionMode
21-
import io.scanbot.sdk.tiff.model.TiffGeneratorParameters
19+
import io.scanbot.sdk.imageprocessing.ScanbotBinarizationFilter
20+
import io.scanbot.sdk.tiffgeneration.TiffGeneratorParameters
2221

2322

2423
class TiffFromDocumentSnippet : AppCompatActivity() {
@@ -61,7 +60,7 @@ class TiffFromDocumentSnippet : AppCompatActivity() {
6160

6261
// @Tag("Creating a TIFF from a Document")
6362
// Create tiff generator instance
64-
val tiffGenerator = scanbotSDK.createTiffGenerator()
63+
val tiffGenerator = scanbotSDK.createTiffGeneratorExtension()
6564

6665
fun createTiffFromDocument(document: Document) {
6766
val config = TiffGeneratorParameters(

0 commit comments

Comments
 (0)