Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EPIC-4283]- Xamarin Document SDK 4.2.0 #126

Merged
merged 21 commits into from
Apr 25, 2024
Merged

[EPIC-4283]- Xamarin Document SDK 4.2.0 #126

merged 21 commits into from
Apr 25, 2024

Conversation

scan-mayank
Copy link
Contributor

Release Notes

ScanbotSDK.Xamarin.Forms - Version 4.2.0

  • 🎉 New:
    • Added support for new barcode types. Check BarcodeFormats enum for:
      • USPSIntelligentMail
      • RoyalMail
      • JapanPost
      • RoyalTNTPost
      • AustraliaPost
      • GS1Composite
      • DatabarLimited
    • Added new feature - Document Quality Analyzer. It analyzes the text quality (legibility) on images. Please check IScanbotOperations interface and DocumentQuality enum for usage.
    • New generation of Text Data Scanner component. The quality and speed of scanning has significantly improved.
    • MRZ support for td1 long document standard.
    • Added support for Kuwait ID cards in the MRZ scanner.
    • Added support for Israelian checks to the check recognizer. Please check enum CheckStandard.
    • Added support for more PDF page sizes. Please check enum PDFPageSize.
    • Added support for PDF orientations. Please check PDFPageOrientation.
    • Android:
      • The new PDF renderer for simple PDF and "sandwiched" PDF generation also allows flexibility to add custom PDF metadata.
    • iOS:
      • Added new classes SBSDKDocumentQualityAnalyzer, SBSDKOpticalCharacterRecognizer, SBSDKOpticalCharacterRecognizerConfiguration and SBSDKTextLayoutRecognizer.
      • Added TrackingOverlayController property to SBSDKBarcodeScannerViewController.
      • Introduced new classes and properties to manage barcode tracking overlay.
      • Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK which complies with the latest Apple specs.
      • Added new static property MaximumRecommendedImageSize to SBSDKDeviceInformation.
      • Added SetupDefaultLicenseFailureHandlerWithCompletion method to the ScanbotSDKGlobal class.
      • Added type BACK_WIDEST to CameraModule enum.
  • 🚀 Improvements:
    • Both Android and iOS:
      • Added SetBarcodeFormatsFilter(barcodeFormat: List<BarcodeFormat>) method in BatchBarcodeScannerConfiguration class.
      • Added new Optical Character Recognition engine based on machine learning algorithms that is much faster and less error-prone. The new OCR engine currently supports all languages with Latin letters, there is no need to specify the languages for it. The legacy engine based on Tesseract can still be used.
      • Improved the document detector with better performance and less memory consumption.
    • Android:
      • Removed parameter forceCpu: Boolean from ImageProcessor methods.
      • Optimized default and custom preview/picture size selection in the ScanbotCameraXView.
      • Optimized SetForceMaxSnappingSize(enabled: bool) behavior in the ScanbotCameraXView.
      • Improved pinch-to-zoom gesture in ScanbotCameraXView.
      • Added SetLifecycleOwner(lifecycleOwner: ILifecycleOwner) method for ViewController in DocumentScannerView and BarcodeScannerView to improve compatibility with Compose UI.
  • 🐞 Bug fixes:
    • Android:
      • Fixed some OOM crashes on low to midrange devices.
      • Fixed EnableCameraButtonTitle and EnableCameraExplanationText parameters on Batch and Barcode RTU UI screen configs.
      • Fixed crash in GenericTextRecognizer on ARM v7 devices.
      • Fixed behavior of OcrResolutionLimit configuration in GenericTextRecognizer.
    • iOS:
      • Fixed a bug where the finder text hint was still showing when ViewFinderEnabled was disabled in SBSDKUIBarcodeScannerViewController and SBSDKUIBarcodesBatchScannerViewController.
      • Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
      • Fixed an issue where the MRZ Scanner was not recognizing the new standard of Belgian ID Cards.
      • Fixed the issue when the top and bottom toolbars' background color in SBSDKUICroppingViewController didn't update on dark mode change, when set to UIColor.SystemBackground.
  • ⚠️ Breaking changes:
    • Gs1DecodingEnabled of type bool is replaced with Gs1HandlingMode of type GS1Handling enum in BarcodeScannerAdditionalParameters.
    • Updated parameters in the PerformOcrAsync(...) method in IScanbotOperations.
    • Replaced Task<float?> EstimateBlurriness(ImageSource source); with Task<DocumentQuality> DetectDocumentQualityAsync(ImageSource source); in IScanbotOperations.
    • Android:
      • If you are using SetPictureSize(pictureSize: Size), SetCameraFrameSize(frameSize: Size) or SetPreviewFrameSize(frameSize: Size), make sure input Size has the correct orientation (fits the view or display size).
      • All scanner components have been switched to zoom ratio (values 1x, 2x, etc.) instead of linear zoom (from 0 to 1). Methods renamed: SetOpticalZoomRange() -> SetPhysicalZoomRange(); SetOpticalZoomLevel() -> SetPhysicalZoomRatio() in ScanbotCameraXView, DocumentScannerView, BarcodeScanAndCountView and BarcodeScannerView. setPhysicalZoomRange() and setPhysicalZoomRatio() accept possible zoom values from 0.5x up to 100x. NOTE: if the value sent to the camera is out of range for a specific device's capabilities, then the camera will try to set the max or min possible for that specific device. eg. Zoom 100x will only work on some high-end Samsung devices, whereas other devices will only have 12x-30x max. The same goes for minimum supported values, 0.5x is a wide-format camera module that does not exist on many Android devices.
      • Removed deprecated BlurEstimator feature. Use DocumentQualityAnalyzer instead.
      • Changed signature of RenderDocumentFromImages() and RenderDocumentFromPages() methods - pageSize: PDFPageSize was replaced with more detailed pdfConfig: PdfConfig parameter.
      • Replaced PerformOCR(AndroidNetUri[] images, string[] languages, AndroidNetUri pdfOutputFileUri = null) with public static OcrResult PerformOCR(AndroidNetUri[] images, OcrConfigs configs = null, AndroidNetUri pdfOutputFileUri = null) in SBSDK.
    • iOS:
      • Removed SBSDKImageMetricsAnalyzer, SBSDKImageChannelMetrics and UIImage+SBSDKMetricsAnalysis.
      • Refactored all OCR and PDF rendering classes to incorporate the new OCR engine and simplify the API.
      • Removed SBSDKOpticalTextRecognizer and SBSDKTextOrientationRecognizer.
        • Renamed SBSDKPageOrientation to SBSDKTextOrientation.
        • Changed function signatures of methods in SBSDKPDFRenderer and SBSDKUIPDFRenderer.
        • Added new values and removed unused values in SBSDKPDFRendererPageSize.
      • Replaced public static void CreatePDF(NSUrl[] images, NSUrl pdfOutputURL, PDFPageSize pageSize) with public static async Task CreatePDF(NSUrl[] images, NSUrl pdfOutputURL, PDFPageSize pageSize, PDFPageOrientation orientation = PDFPageOrientation.Auto).
      • Replaced public static SBSDKOCRResult PerformOCR(NSUrl[] images, string[] languages, NSUrl pdfOutputFileURL = null) with public static Task<SBSDKOCRResult> PerformOCR(NSUrl[] images, OcrConfigs configs = null, NSUrl pdfOutputFileURL = null).
      • Changed public static void CreatePDF(ImageStorage storage, NSUrl pdfOutputURL, PDFPageSize pageSize) method to private visibility.
      • The class SBSDKBlurrinessEstimator has been removed and replaced by the far superior SBSDKDocumentQualityAnalyzer.
      • Changed default value of the finder aspect ratio in SBSDKUIFinderDocumentScannerUIConfiguration to DIN A4 portrait.
      • Renamed a few UIImage extension methods:
        • Sbsdk_imageWarpedByPolygon with ImageWarpedByPolygon
        • Sbsdk_imageScaledToSize with ImageScaledToSize
      • Replaced the delegate method names for below classes: (eg: GenericDocumentRecognizerViewControllerDidCancel(...) to DidCancel(...))
        • SBSDKUIHealthInsuranceCardScannerViewControllerDelegate
        • SBSDKUIGenericDocumentRecognizerViewControllerDelegate
        • SBSDKUITextDataScannerViewControllerDelegate
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v4.2.0.
    • Upgraded the native Scanbot iOS SDK to v4.2.2.

scan-mayank and others added 21 commits February 12, 2024 10:00
- Updated the projects with latest SDK. Fixed the issues related to OverlayConfigurations.
- Updated the DetectDocumentQuality result paramter.
[EPIC-4283] - Xamarin SDK Update to 4.2.0
Description: There is no provision to set this property in the Classic component for Android. Still the behaviour is same as iOS as handled in the example project.
…eeze

Epic 3538 - Bug native renderer app freeze and BarcodeImageGenerationType for CapturedImage
iOS SDK 4.2.2 - Updated latest nugets
- Added Document Quality Analyser. Refactored the code for buttons clicks
[EPIC-4283]: Xamarin Document Quality Analyzer
- Button appearance - Color of button shows different in android compared to iOS
- DetectBarcodesOnImage: Added Accepted Barcode Formats to the example project
- Added try catch for PerformOCR feature.
[EPIC-4594] Xamarin Forms - Perform OCR error handling
- Added Encryption check for accessing the Document
@ildar-scanbot ildar-scanbot merged commit d7af58c into master Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants