Perform first OCR extraction
This commit is contained in:
		@@ -6,14 +6,40 @@ import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:path/path.dart' as p;
 | 
			
		||||
import 'package:path_provider/path_provider.dart';
 | 
			
		||||
import 'package:pdf_image_renderer/pdf_image_renderer.dart';
 | 
			
		||||
import 'package:scanbot_sdk/scanbot_sdk.dart';
 | 
			
		||||
import 'package:scanbot_sdk/scanbot_sdk_ui_v2.dart' hide IconButton, EdgeInsets;
 | 
			
		||||
 | 
			
		||||
/// Scan document as PDF
 | 
			
		||||
Future<Uint8List> scanDocAsPDF() async {
 | 
			
		||||
  var configuration = DocumentScanningFlow(
 | 
			
		||||
    appearance: DocumentFlowAppearanceConfiguration(
 | 
			
		||||
      statusBarMode: StatusBarMode.DARK,
 | 
			
		||||
    ),
 | 
			
		||||
    cleanScanningSession: true,
 | 
			
		||||
    outputSettings: DocumentScannerOutputSettings(pagesScanLimit: 1),
 | 
			
		||||
    screens: DocumentScannerScreens(
 | 
			
		||||
      review: ReviewScreenConfiguration(enabled: false),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  var documentResult = await ScanbotSdkUiV2.startDocumentScanner(configuration);
 | 
			
		||||
 | 
			
		||||
  if (documentResult.status != OperationStatus.OK) {
 | 
			
		||||
    throw Exception("Scanner failed with status ${documentResult.status}");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Convert result to PDF
 | 
			
		||||
  var result = await ScanbotSdk.document.createPDFForDocument(
 | 
			
		||||
    PDFFromDocumentParams(
 | 
			
		||||
      documentID: documentResult.data!.uuid,
 | 
			
		||||
      pdfConfiguration: PdfConfiguration(),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  final pdfPath = result.pdfFileUri.replaceFirst("file://", "");
 | 
			
		||||
  return File(pdfPath).readAsBytes();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Render PDF to image bits
 | 
			
		||||
Future<Uint8List> renderPdf(
 | 
			
		||||
     {
 | 
			
		||||
      String? path,
 | 
			
		||||
      Uint8List? pdfBytes,
 | 
			
		||||
    }) async {
 | 
			
		||||
Future<Uint8List> renderPdf({String? path, Uint8List? pdfBytes}) async {
 | 
			
		||||
  assert(path != null || pdfBytes != null);
 | 
			
		||||
 | 
			
		||||
  // Create temporary file if required
 | 
			
		||||
@@ -62,4 +88,4 @@ Future<Uint8List> renderPdf(
 | 
			
		||||
      await File(path).delete();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user