From 757e5966973f987ab9337effd376f603792105ec Mon Sep 17 00:00:00 2001 From: Justin Date: Thu, 30 Jul 2026 17:52:08 +0800 Subject: [PATCH 01/10] Refactor documentation to streamline API usage sections and enhance clarity across multiple guides --- .../capabilities/add-functional-buttons.md | 29 ----- .../capabilities/barcode-formats.md | 28 ----- .../user-guide/capabilities/feedback.md | 26 ----- .../capabilities/read-specific-area.md | 35 ------ .../capabilities/single-multiple.md | 106 +----------------- .../user-guide/capabilities/zoom-control.md | 45 -------- 6 files changed, 2 insertions(+), 267 deletions(-) diff --git a/programming/objectivec-swift/user-guide/capabilities/add-functional-buttons.md b/programming/objectivec-swift/user-guide/capabilities/add-functional-buttons.md index 0a996930..d2e6cb52 100644 --- a/programming/objectivec-swift/user-guide/capabilities/add-functional-buttons.md +++ b/programming/objectivec-swift/user-guide/capabilities/add-functional-buttons.md @@ -27,7 +27,6 @@ BarcodeScanner provides a set of UI elements that you can easily customize. - Camera toggle button: A clickable button that switches the front/back-facing camera. - Close button: Stops barcode scanning and returns to the previous activity. -## Work with Foundational APIs
>- Objective-C @@ -52,31 +51,3 @@ cameraView?.cameraToggleButtonVisible = true - [`CameraView`]({{ site.dce_ios }}auxiliary-api/dcecameraview.html) - [setTorchButtonVisible]({{ site.dce_ios }}auxiliary-api/dcecameraview.html#settorchbuttonvisible) - [setCameraToggleButtonVisible]({{ site.dce_ios }}auxiliary-api/dcecameraview.html#setcameratogglebuttonvisible) - -## Work with BarcodeScanner APIs - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.isTorchButtonVisible = YES; -config.isCloseButtonVisible = YES; -config.isCameraToggleButtonVisible = YES; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.isTorchButtonVisible = true -config.isCloseButtonVisible = true -config.isCameraToggleButtonVisible = true -``` - -**Related APIs** - -- [`BarcodeScannerConfig`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html) - - [setTorchButtonVisible]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#settorchbuttonvisible) - - [setCloseButtonVisible]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setclosebuttonvisible) - - [setCameraToggleButtonVisible]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setcameratogglebuttonvisible) diff --git a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md index b8f4382c..af1f8ddc 100644 --- a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md +++ b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md @@ -24,8 +24,6 @@ Specify barcode formats using a combined value of [`EnumBarcodeFormat`]({{ site. - Use `EnumBarcodeFormat.BF_ALL` to enable all supported formats. - Use group values like `EnumBarcodeFormat.BF_ONED` when appropriate. -### Use Foundational API - - `SimplifiedCaptureVisionSettings.barcodeSettings.barcodeFormatIds` Example: @@ -57,32 +55,6 @@ do { } ``` -### Use BarcodeScanner API - -- `BarcodeScannerConfig.setBarcodeFormats(long format)` - -Example: - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -// QR Code + DataMatrix -config.barcodeFormats = DSBarcodeFormatQRCode | DSBarcodeFormatDataMatrix; -``` -2. -```swift -let config = BarcodeScannerConfig() -// QR Code + DataMatrix -config.barcodeFormats = [.qrCode, .dataMatrix] -``` - -> [!Note] -> If you are already using a customized template, you usually do not need to specify formats again in code. See [Use a Customized Template](parameters-and-templates.md#use-a-customized-template) for details. - ## Configure Formats in a Template Barcode formats are specified in `BarcodeFormatIds` under `BarcodeReaderTaskSettingOptions`. For example: diff --git a/programming/objectivec-swift/user-guide/capabilities/feedback.md b/programming/objectivec-swift/user-guide/capabilities/feedback.md index 0d522977..f407d0be 100644 --- a/programming/objectivec-swift/user-guide/capabilities/feedback.md +++ b/programming/objectivec-swift/user-guide/capabilities/feedback.md @@ -12,8 +12,6 @@ noTitleIndex: true Trigger a beep sound or vibration when a barcode is scanned successfully. -### Use Foundational APIs -
>- Objective-C >- Swift @@ -32,27 +30,3 @@ Feedback.vibrate() **Related API** - [`Feedback`]({{ site.dce_ios }}auxiliary-api/dcefeedback.html) - -### Use BarcodeScanner APIs - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.isBeepEnabled = YES; -config.isVibrateEnabled = YES; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.isVibrateEnabled = true -config.isBeepEnabled = true -``` - -**Related API** - -- [`isVibrateEnabled`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#isvibrateenabled) -- [`isBeepEnabled`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#isbeepenabled) diff --git a/programming/objectivec-swift/user-guide/capabilities/read-specific-area.md b/programming/objectivec-swift/user-guide/capabilities/read-specific-area.md index 4f7efced..e014b326 100644 --- a/programming/objectivec-swift/user-guide/capabilities/read-specific-area.md +++ b/programming/objectivec-swift/user-guide/capabilities/read-specific-area.md @@ -12,8 +12,6 @@ needAutoGenerateSidebar: true ## Set a Scan Region on Camera -### Work with Foundational APIs -
>- Objective-C >- Swift @@ -42,39 +40,6 @@ try? dce.setScanRegion(region) - [`CameraEnhancer`]({{ site.dbr_ios_api }}camera-enhancer/camera-enhancer.html) - [`setScanRegion`]({{ site.dbr_ios_api }}camera-enhancer/camera-enhancer.html#setscanregion) -### Work with BarcodeScanner APIs - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -// Margin left 15%, margin top 30%, margin right 85%, margin bottom 70% -DSRect *region = [[DSRect alloc] init]; -region.left = 0.15; -region.top = 0.25; -region.right = 0.85; -region.bottom = 0.65; -config.scanRegion = region; -``` -2. -```swift -let config = BarcodeScannerConfig() -let region = Rect() -region.left = 0.15 -region.top = 0.30 -region.right = 0.85 -region.bottom = 0.70 -config.scanRegion = region -``` - -**Related APIs** - -- [`BarcodeScannerConfig`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html) - - [`setScanRegion`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setscanregion) - ## Set an ROI via Simplified Settings > [!Important] diff --git a/programming/objectivec-swift/user-guide/capabilities/single-multiple.md b/programming/objectivec-swift/user-guide/capabilities/single-multiple.md index ee8fd7f0..36802cdb 100644 --- a/programming/objectivec-swift/user-guide/capabilities/single-multiple.md +++ b/programming/objectivec-swift/user-guide/capabilities/single-multiple.md @@ -12,9 +12,8 @@ noTitleIndex: true This article explains how to switch between single-barcode scanning mode and multi-barcode scanning mode. -## Work with Foundational APIs -### Configure Expected Barcodes Count +## Configure Expected Barcodes Count - `expectedBarcodesCount` = 1: Scan a single barcode. - `expectedBarcodesCount` = 0: Allows the library to return more than one result, but it does not aggressively optimize for decoding multiple barcodes. @@ -48,7 +47,7 @@ do { - [`simplifiedCaptureVisionSettings`]({{ site.dcvb_ios_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html) - [`simplifiedBarcodeReaderSettings`]({{ site.dbr_ios_api }}simplified-barcode-reader-settings.html) -### Improve Multi-Scan Stability +## Improve Multi-Scan Stability Use max overlapping feature of multi-frame cross filter to improve the stability of multi-barcode scanning. @@ -72,104 +71,3 @@ filter.setMaxOverlappingFrames(.barcode, frames: 10) filter.enableLatestOverlapping(.barcode, isEnabled: true) cvr.addResultFilter(filter) ``` - -## Work with BarcodeScanner APIs - -### How to Switch Scanning Modes - -Use the `setScanningMode` method to switch between single-barcode and multi-barcode scanning modes. - -- `SM_MULTIPLE`: Multi-barcode scanning mode. -- `SM_SINGLE`: (Default) Single-barcode scanning mode. - -**Code Snippet** - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.scanningMode = DSScanningModeMultiple; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.scanningMode = .multiple -``` - -### Configure the Auto-Stop Conditions - -For multi-barcode scanning, there are two automatic stop conditions: - -- The number of successfully decoded barcodes reaches the `expectedBarcodesCount`. -- There are no new decoding results for N consecutive frames. The value of N can be set using `setMaxConsecutiveStableFramesToExit`. - -For example, apply the following settings: - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.scanningMode = DSScanningModeMultiple; -config.expectedBarcodesCount = 10; -config.maxConsecutiveStableFramesToExit = 15; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.scanningMode = .multiple -config.expectedBarcodesCount = 10 -config.maxConsecutiveStableFramesToExit = 15 -``` - -If at least 10 barcodes are decoded, scanning stops. Otherwise, scanning continues for up to 15 consecutive stable frames. If no new decoding results are found within those 15 frames, scanning stops. - -**Related APIs** - -- [`setScanningMode`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setscanningmode) -- [`setExpectedBarcodesCount`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setexpectedbarcodescount) -- [`setMaxConsecutiveStableFramesToExit`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setmaxconsecutivestableframestoexit) - -## Comparisons - -If you are looking for a solution to scan large batches of barcodes, refer to [`BatchBarcodeScanner`](https://www.dynamsoft.com/use-cases/batch-barcode-scanning/){:target="_blank"}. `BatchBarcodeScanner` is much more capable of large-volume barcode scanning and provides a highly interactive UI for previewing, editing, saving, reusing, and sharing results. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BarcodeScanner Single ModeBarcodeScanner Multi ModeBatchBarcodeScanner
DependenciesDynamsoftBarcodeReaderBundleDynamsoftBarcodeReaderBundleDynamsoftBatchBarcodeReaderBundle
Scan AbilityDecodes at least one barcode available in the latest frame.Decodes all barcodes available in the latest frame.Decodes all barcodes available in the latest frame (TTL Overlap Mode)
or
decodes all barcodes available in the first frame (TTS Overlap Mode)
or
decodes all barcodes that appear during capture (Panorama Mode).
ResultAlways returns one barcode result. If more than one barcode is decoded, users are asked to select one.All decoded barcodesAll decoded barcodes, plus a PanoramicImage that highlights all of them.
Result EditorNot availableNot availableSupports the following operations
1. Extend the current result with all available image sources.
2. Manually add new results or edit existing results.
3. Save to history.
4. Export as files (.png, .csv, etc.).
diff --git a/programming/objectivec-swift/user-guide/capabilities/zoom-control.md b/programming/objectivec-swift/user-guide/capabilities/zoom-control.md index 7237db34..980baf1a 100644 --- a/programming/objectivec-swift/user-guide/capabilities/zoom-control.md +++ b/programming/objectivec-swift/user-guide/capabilities/zoom-control.md @@ -24,8 +24,6 @@ Enable auto-zoom so the camera can zoom in automatically.

Auto Zoom

-### Use Foundational APIs -
>- Objective-C >- Swift @@ -43,31 +41,9 @@ dce.enableEnhancedFeatures(EnhancedFeatures.autoZoom) - [`enableEnhancedFeatures`]({{ site.dce_ios }}primary-api/camera-enhancer.html#enableenhancedfeatures) -### Use BarcodeScanner APIs - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.isAutoZoomEnabled = YES; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.isAutoZoomEnabled = true -``` - -**Related API** - -- [`setAutoZoomEnabled`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setautozoomenabled) ## Zoom Factor -### Use Foundational APIs -
>- Objective-C >- Swift @@ -84,24 +60,3 @@ dce.setZoomFactor(2.0) **Related API** - [`setZoomFactor`]({{ site.dce_ios }}primary-api/camera-enhancer.html#setzoomfactor) - -### Use BarcodeScanner APIs - -
->- Objective-C ->- Swift -> ->1. -```objc -DSBarcodeScannerConfig *config = [[DSBarcodeScannerConfig alloc] init]; -config.zoomFactor = 2.0; -``` -2. -```swift -let config = BarcodeScannerConfig() -config.zoomFactor = 2.0 -``` - -**Related API** - -- [`setZoomFactor`]({{ site.dbr_ios_api }}barcode-scanner/barcode-scanner-config.html#setzoomfactor) From ab96c080ee00eb9b873dad6de78e0eb03814882f Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 31 Jul 2026 10:46:35 +0800 Subject: [PATCH 02/10] Update template paths in barcode formats documentation for accuracy --- .../capabilities/barcode-formats.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md index af1f8ddc..1666af21 100644 --- a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md +++ b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md @@ -61,7 +61,7 @@ Barcode formats are specified in `BarcodeFormatIds` under `BarcodeReaderTaskSett ```json { - "CaptureVisionTemplates": [ + "CaptureVisionTemplates/": [ { "ImageROIProcessingNameArray": [ "ROI_2D" ], "Name": "ReadCommon2D", @@ -97,15 +97,15 @@ Barcode formats are specified in `BarcodeFormatIds` under `BarcodeReaderTaskSett } ``` -For common formats, you can download and use the preset templates below: +For common formats, you can download and use the preset Templates/ below: | Barcode Format(s) | Template | | ----------------- | -------- | -| EAN13, EAN8, UPC_A, UPC_E, GS1 Databar | [ReadOneDRetail.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadOneDRetail.json) | -| Code128, Code39, ITF, Codabar, MSI Code | [ReadOneDIndustrial.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadOneDIndustrial.json) | -| QR Code | [ReadQR.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadQR.json) | -| Data Matrix | [ReadDataMatrix.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadDataMatrix.json) | -| PDF417 | [ReadPDF417.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadPDF417.json) | -| Aztec | [ReadAztec.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadAztec.json) | -| QR Code, Data Matrix, PDF417 | [ReadCommon2D.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadCommon2D.json) | -| DotCode | [ReadDotCode.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadDotCode.json) | +| EAN13, EAN8, UPC_A, UPC_E, GS1 Databar | [ReadOneDRetail.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadOneDRetail.json) | +| Code128, Code39, ITF, Codabar, MSI Code | [ReadOneDIndustrial.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadOneDIndustrial.json) | +| QR Code | [ReadQR.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadQR.json) | +| Data Matrix | [ReadDataMatrix.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadDataMatrix.json) | +| PDF417 | [ReadPDF417.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadPDF417.json) | +| Aztec | [ReadAztec.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadAztec.json) | +| QR Code, Data Matrix, PDF417 | [ReadCommon2D.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/src/main/assets/Templates//ReadCommon2D.json) | +| DotCode | [ReadDotCode.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadDotCode.json) | From 07b8d918b9b016376b3b9b88721e46897568069d Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 31 Jul 2026 10:50:37 +0800 Subject: [PATCH 03/10] Fix JSON structure in barcode formats documentation and update template reference wording for consistency --- .../user-guide/capabilities/barcode-formats.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md index 1666af21..d2773a0b 100644 --- a/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md +++ b/programming/objectivec-swift/user-guide/capabilities/barcode-formats.md @@ -61,7 +61,7 @@ Barcode formats are specified in `BarcodeFormatIds` under `BarcodeReaderTaskSett ```json { - "CaptureVisionTemplates/": [ + "CaptureVisionTemplates": [ { "ImageROIProcessingNameArray": [ "ROI_2D" ], "Name": "ReadCommon2D", @@ -97,7 +97,7 @@ Barcode formats are specified in `BarcodeFormatIds` under `BarcodeReaderTaskSett } ``` -For common formats, you can download and use the preset Templates/ below: +For common formats, you can download and use the preset templates below: | Barcode Format(s) | Template | | ----------------- | -------- | From 275feb4d42d7f5f00f91897616573c260af87bf5 Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 31 Jul 2026 10:55:22 +0800 Subject: [PATCH 04/10] Remove redundant sections for "Other Use Cases for Barcode Scanning" in Android and iOS sample index files --- _includes/android_sample_index.html | 7 ------- _includes/ios_sample_index.html | 7 ------- 2 files changed, 14 deletions(-) diff --git a/_includes/android_sample_index.html b/_includes/android_sample_index.html index 69854534..75f14179 100644 --- a/_includes/android_sample_index.html +++ b/_includes/android_sample_index.html @@ -843,13 +843,6 @@

Develop with Foundational APIs

Source - - - -
-

Other Use Cases for Barcode Scanning

-
-
ScanVIN - diff --git a/_includes/ios_sample_index.html b/_includes/ios_sample_index.html index bff92569..f279463f 100644 --- a/_includes/ios_sample_index.html +++ b/_includes/ios_sample_index.html @@ -871,13 +871,6 @@

Develop with Foundational APIs

Source
-
- - -
-

Other Use Cases for Barcode Scanning

-
-
ScanVIN - From 9dbb64d747bdfd6b7c48a8a20527dc06d5febbcc Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 31 Jul 2026 14:41:39 +0800 Subject: [PATCH 05/10] Add release notes for version 9.6.60 in Android and iOS SDK documentation --- programming/android/release-notes/index.md | 2 ++ programming/objectivec-swift/release-notes/index.md | 1 + 2 files changed, 3 insertions(+) diff --git a/programming/android/release-notes/index.md b/programming/android/release-notes/index.md index fd49a5c9..0109f379 100644 --- a/programming/android/release-notes/index.md +++ b/programming/android/release-notes/index.md @@ -30,6 +30,8 @@ breadcrumbText: Release Notes - [10.2.10 (04/16/2024)]({{ site.android_release_notes_v10 }}android-10.html#10210-04162024) - [10.0.21 (12/12/2023)]({{ site.android_release_notes_v10 }}android-10.html#10021-12122023) - [10.0.20 (10/26/2023)]({{ site.android_release_notes_v10 }}android-10.html#10020-10262023) +- [9.6.60 (12/23/2025)]({{ site.android_release_notes_v9 }}android-9.html#9660-12232025) +- [9.6.50 (09/23/2025)]({{ site.android_release_notes_v9 }}android-9.html#9650-09232025) - [9.6.40 (03/21/2024)]({{ site.android_release_notes_v9 }}android-9.html#9640-03212024) - [9.6.20 (03/16/2023)]({{ site.android_release_notes_v9 }}android-9.html#9620-03162023) - [9.6.11 (01/16/2023)]({{ site.android_release_notes_v9 }}android-9.html#9611-01162023) diff --git a/programming/objectivec-swift/release-notes/index.md b/programming/objectivec-swift/release-notes/index.md index 3ba89a5a..6e037f62 100644 --- a/programming/objectivec-swift/release-notes/index.md +++ b/programming/objectivec-swift/release-notes/index.md @@ -33,6 +33,7 @@ breadcrumbText: Release Notes - [10.2.10 (04/16/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#10210-04162024) - [10.0.21 (12/12/2023)]({{ site.oc_release_notes_v10 }}ios-10.html#10021-12122023) - [10.0.20 (10/26/2023)]({{ site.oc_release_notes_v10 }}ios-10.html#10020-10262023) +- [9.6.60 (12/23/2025)]({{ site.oc_release_notes_v9 }}ios-9.html#9660-12232025) - [9.6.40 (03/21/2024)]({{ site.oc_release_notes_v9 }}ios-9.html#9640-03212024) - [9.6.21 (03/27/2023)]({{ site.oc_release_notes_v9 }}ios-9.html#9621-03272023) - [9.6.20 (03/16/2023)]({{ site.oc_release_notes_v9 }}ios-9.html#9620-03162023) From b43adc04487163e8603d813a372c45ea9b7f375e Mon Sep 17 00:00:00 2001 From: Justin Date: Thu, 13 Aug 2026 10:06:47 +0800 Subject: [PATCH 06/10] Add release notes for version 11.6.2000 and update programming references in React Native SDK documentation --- .../programming-react-native.html | 9 ++++ .../react-native/release-notes/index.md | 1 + .../release-notes/react-native-11.md | 51 +++++++++++++++++++ 3 files changed, 61 insertions(+) diff --git a/_includes/sidelist-programming/programming-react-native.html b/_includes/sidelist-programming/programming-react-native.html index 28d39181..f67adcd9 100644 --- a/_includes/sidelist-programming/programming-react-native.html +++ b/_includes/sidelist-programming/programming-react-native.html @@ -94,6 +94,7 @@
  • EnumGrayscaleEnhancementMode
  • EnumGrayscaleTransformationMode
  • EnumImagePixelFormat
  • +
  • EnumMeasureUnit
  • @@ -188,12 +189,19 @@
  • ImageDrawer
  • ImageIO
  • ImageProcessor
  • +
  • LayoutAnalysisParameter
  • +
  • LayoutAnalysisResult
  • +
  • LayoutAnalyzer
  • +
  • LayoutAxis
  • +
  • LayoutElement
  • MultiFrameResultCrossFilter
  • Enumerations
  • @@ -479,6 +487,7 @@
    • AllModuleDeviation
    • AustralianPostEncodingTable
    • +
    • AutoDetectColorInversion
    • BarcodeAngleRangeArray
    • BarcodeBytesLengthRangeArray
    • BarcodeFormatIds
    • diff --git a/programming/react-native/release-notes/index.md b/programming/react-native/release-notes/index.md index 8208958d..790c1616 100644 --- a/programming/react-native/release-notes/index.md +++ b/programming/react-native/release-notes/index.md @@ -9,6 +9,7 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader React Native SDK - Release Notes +- [11.6.2000 (08/14/2026)](react-native-11.md#1162000-08142026) - [11.4.3010 (07/09/2026)](react-native-11.md#1143000-07082026) - [11.4.1300 (05/20/2026)](react-native-11.md#1141300-05202026) - [11.4.1200 (04/22/2026)](react-native-11.md#1141200-04222026) diff --git a/programming/react-native/release-notes/react-native-11.md b/programming/react-native/release-notes/react-native-11.md index 8c9041d2..a343ac44 100644 --- a/programming/react-native/release-notes/react-native-11.md +++ b/programming/react-native/release-notes/react-native-11.md @@ -9,6 +9,57 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader React Native SDK - Release Notes +## 11.6.2000 (08/14/2026) + +### Highlights + +#### Multi-Threaded Barcode Decoding + +- **Get results sooner with parallel processing** - Barcode decoding now uses a breadth-first strategy that decomposes a single DBR Task into one Localization Work and one or more Decoding Works. This improves thread utilization and reduces the chance that a slow `DeblurMode` attempt blocks other faster decoding attempts, helping valid results come back sooner. + +#### DataMatrix Color Inversion Detection + +- **Handle normal and inverted DataMatrix more efficiently** - Added [`AutoDetectColorInversion`]({{ site.dcv_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) to automatically handle both normal and inverted DataMatrix barcodes. Instead of processing the whole image twice, the SDK applies dual-polarity handling only to localized DataMatrix regions, which makes processing faster in dual-polarity scenarios. + +#### Barcode Layout Analysis + +- **Decode dense grid barcodes more completely** - Added [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) to organize barcode locations into logical line or matrix layouts and infer unrecognized barcode regions when gaps exist, enabling workflows such as fast first-pass decoding, missing-region inference, and targeted second-pass decoding on dense N*M barcode layouts. + +#### Cross-Version License Support + +- **Use a single license across SDK versions** - Full License 1.0 keys (starting with "f") that are non-perpetual are no longer version-checked, so the same key can be used across SDK versions without reactivation. + +### New + +- Added support for Micro PDF417-specific decoding mode. + +- Added [`AutoDetectColorInversion`]({{ site.dcv_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) parameter for `BarcodeFormatSpecification` to support automatic color-inversion detection for DataMatrix barcodes. + +- Added [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) class with [`analyze()`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html#analyze) static method for quadrilateral layout analysis. + +- Added [`LayoutPattern`]({{ site.dcv_react_native_api }}utility/enum-layout-pattern.html) enumeration with values `LP_UNKNOWN`, `LP_LINES`, and `LP_MATRIX`. + +- Added [`LayoutElementSource`]({{ site.dcv_react_native_api }}utility/enum-layout-element-source.html) enumeration with values `LES_NONE`, `LES_INPUT`, and `LES_INFERRED`. + +- Added [`MeasureUnit`]({{ site.dcv_react_native_api }}core/enum-measure-unit.html) enumeration with values `MU_PIXEL` and `MU_PERCENTAGE`. + +- Added [`LayoutAxis`]({{ site.dcv_react_native_api }}utility/layout-axis.html), [`LayoutAnalysisParameter`]({{ site.dcv_react_native_api }}utility/layout-analysis-parameter.html), [`LayoutElement`]({{ site.dcv_react_native_api }}utility/layout-element.html), and [`LayoutAnalysisResult`]({{ site.dcv_react_native_api }}utility/layout-analysis-result.html) for layout analysis configuration and results. + +- Added a new `GridBarcodeScanner` sample (with `sample_grid.png`) to demonstrate how to use [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) for barcode grid layout detection and logical row/column mapping. + +### Changed + +- [`MaxParallelTasks`]({{ site.dcv_parameters_reference }}capture-vision-template/max-parallel-tasks.html) now controls the total number of Work-level threads in the CVR thread pool. For DBR tasks, each Localization Work and Decoding Work occupies one thread slot. DLR and DDN tasks continue to occupy one thread per task. + +- [`set_device_friendly_name()`]({{ site.dcv_react_native_api }}license/license-manager.html#set_device_friendly_name) now enforces parameter constraints: maximum 64 characters, allowed characters are letters (a-z, A-Z), digits (0-9), hyphen (-), underscore (_), and period (.), and must start and end with a letter or digit. Returns [`EC_PARAMETER_VALUE_INVALID`]({{ site.dcv_react_native_api }}core/enum-error-code.html) if constraints are not met. + +- Improved the default display behavior of corner adjustment points in `ImageEditorView`. Previously, users had to tap the view before the corner adjustment points became visible. + +### Fixed + +- Fixed an issue in GS1-Databar AI `17` (YYMMDD) results where the month field could be missing a leading zero. +- Fixed several known crash issues. + ## 11.4.3010 (07/09/2026) ### Security Updates From d7d7979df5cc6599cefcd6bd808dbda67962d4db Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 14 Aug 2026 10:18:42 +0800 Subject: [PATCH 07/10] Update Android and iOS SDK documentation to reflect version 11.6.2000 changes --- programming/android/foundational-guide.md | 4 ++-- programming/android/release-notes/android-11.md | 10 ++++++++++ programming/android/release-notes/index.md | 1 + programming/android/user-guide.md | 4 ++-- programming/objectivec-swift/foundational-guide.md | 4 ++-- programming/objectivec-swift/release-notes/index.md | 1 + programming/objectivec-swift/release-notes/ios-11.md | 10 ++++++++++ programming/objectivec-swift/user-guide.md | 4 ++-- 8 files changed, 30 insertions(+), 8 deletions(-) diff --git a/programming/android/foundational-guide.md b/programming/android/foundational-guide.md index 46562b8a..481b18a6 100644 --- a/programming/android/foundational-guide.md +++ b/programming/android/foundational-guide.md @@ -70,13 +70,13 @@ There are two ways to add the libraries into your project - **Manually** and **M >1. ```groovy dependencies { - implementation 'com.dynamsoft:barcodereaderbundle:11.6.1000' + implementation 'com.dynamsoft:barcodereaderbundle:11.6.2000' } ``` 2. ```kotlin dependencies { - implementation("com.dynamsoft:barcodereaderbundle:11.6.1000") + implementation("com.dynamsoft:barcodereaderbundle:11.6.2000") } ``` diff --git a/programming/android/release-notes/android-11.md b/programming/android/release-notes/android-11.md index 2c862b66..b46fd09b 100644 --- a/programming/android/release-notes/android-11.md +++ b/programming/android/release-notes/android-11.md @@ -10,6 +10,16 @@ noTitleIndex: true # Release Notes for Android SDK - 11.x +## 11.6.2000 (08/14/2026) + +### New + +- Added support for Micro PDF417-specific decoding mode. + +### Fixed + +- Fixed several known crash issues. + ## 11.6.1000 (07/30/2026) ### Highlights diff --git a/programming/android/release-notes/index.md b/programming/android/release-notes/index.md index 0109f379..97565519 100644 --- a/programming/android/release-notes/index.md +++ b/programming/android/release-notes/index.md @@ -9,6 +9,7 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader Android SDK - Release Notes +- [11.6.2000 (08/14/2026)]({{ site.android_release_notes }}android-11.html#1162000-08142026) - [11.6.1000 (07/30/2026)]({{ site.android_release_notes }}android-11.html#1161000-07302026) - [11.4.3000 (07/07/2026)]({{ site.android_release_notes }}android-11.html#1143000-07072026) - [11.4.1300 (05/20/2026)]({{ site.android_release_notes }}android-11.html#1141300-05202026) diff --git a/programming/android/user-guide.md b/programming/android/user-guide.md index af94542f..1efae90a 100644 --- a/programming/android/user-guide.md +++ b/programming/android/user-guide.md @@ -76,13 +76,13 @@ There are two ways in which you can include the `dynamsoftbarcodereaderbundle` l >1. ```groovy dependencies { - implementation 'com.dynamsoft:barcodereaderbundle:11.6.1000' + implementation 'com.dynamsoft:barcodereaderbundle:11.6.2000' } ``` 2. ```kotlin dependencies { - implementation("com.dynamsoft:barcodereaderbundle:11.6.1000") + implementation("com.dynamsoft:barcodereaderbundle:11.6.2000") } ``` diff --git a/programming/objectivec-swift/foundational-guide.md b/programming/objectivec-swift/foundational-guide.md index 21161c51..66de7a9a 100644 --- a/programming/objectivec-swift/foundational-guide.md +++ b/programming/objectivec-swift/foundational-guide.md @@ -51,7 +51,7 @@ There are three ways to add the SDK into your project - **Manually**, via **Coco 2. In the top-right section of the window, search "https://github.com/Dynamsoft/barcode-reader-spm" -3. Select `barcode-reader-spm`, choose `Exact version`, enter **11.6.1000**, then click **Add Package**. +3. Select `barcode-reader-spm`, choose `Exact version`, enter **11.6.2000**, then click **Add Package**. 4. Check all the **xcframeworks** and add. @@ -63,7 +63,7 @@ There are three ways to add the SDK into your project - **Manually**, via **Coco target 'HelloWorld' do use_frameworks! - pod 'DynamsoftBarcodeReaderBundle','11.6.1000' + pod 'DynamsoftBarcodeReaderBundle','11.6.2000' end ``` diff --git a/programming/objectivec-swift/release-notes/index.md b/programming/objectivec-swift/release-notes/index.md index 6e037f62..39aee8e6 100644 --- a/programming/objectivec-swift/release-notes/index.md +++ b/programming/objectivec-swift/release-notes/index.md @@ -9,6 +9,7 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader iOS SDK - Release Notes +- [11.6.2000 (08/14/2026)]({{ site.oc_release_notes }}ios-11.html#1162000-08142026) - [11.6.1000 (07/30/2026)]({{ site.oc_release_notes }}ios-11.html#1161000-07302026) - [11.4.3000 (07/07/2026)]({{ site.oc_release_notes }}ios-11.html#1143000-07072026) - [11.4.1200 (04/02/2026)]({{ site.oc_release_notes }}ios-11.html#1141200-04022026) diff --git a/programming/objectivec-swift/release-notes/ios-11.md b/programming/objectivec-swift/release-notes/ios-11.md index 8aaa08c0..1019d222 100644 --- a/programming/objectivec-swift/release-notes/ios-11.md +++ b/programming/objectivec-swift/release-notes/ios-11.md @@ -10,6 +10,16 @@ noTitleIndex: true # Release Notes for iOS SDK - 11.x +## 11.6.2000 (08/14/2026) + +### New + +- Added support for Micro PDF417-specific decoding mode. + +### Fixed + +- Fixed several known crash issues. + ## 11.6.1000 (07/30/2026) ### Highlights diff --git a/programming/objectivec-swift/user-guide.md b/programming/objectivec-swift/user-guide.md index af7ddcd7..c32eaf52 100644 --- a/programming/objectivec-swift/user-guide.md +++ b/programming/objectivec-swift/user-guide.md @@ -54,7 +54,7 @@ There are three ways in which you can add the `DynamsoftBarcodeReaderBundle` SDK 2. In the top-right section of the window, search "https://github.com/Dynamsoft/barcode-reader-spm" -3. Select `barcode-reader-spm`, choose `Exact version`, enter **11.6.1000**, then click **Add Package**. +3. Select `barcode-reader-spm`, choose `Exact version`, enter **11.6.2000**, then click **Add Package**. 4. Check all the **xcframeworks** and add. @@ -66,7 +66,7 @@ There are three ways in which you can add the `DynamsoftBarcodeReaderBundle` SDK target 'ScanSingleBarcode' do use_frameworks! - pod 'DynamsoftBarcodeReaderBundle','11.6.1000' + pod 'DynamsoftBarcodeReaderBundle','11.6.2000' end ``` From 153c889d56101c50c33234a61abcbf61b22d3403 Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 14 Aug 2026 10:33:21 +0800 Subject: [PATCH 08/10] Update React Native samples index with new barcode scanning examples and descriptions --- programming/react-native/samples/index.md | 48 ++++++++++++++++++++--- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/programming/react-native/samples/index.md b/programming/react-native/samples/index.md index e1ec012e..797e3b2d 100644 --- a/programming/react-native/samples/index.md +++ b/programming/react-native/samples/index.md @@ -13,24 +13,60 @@ All of the samples that have been created for the Dynamsoft Barcode Reader React ## Barcode Reader Samples +### ScanBarcodes_ReadyToUseComponent + +This sample demonstrates the quickest way to scan barcodes from live camera preview using the [BarcodeScanner (Ready-To-Use) API]({{ site.dbr_react_native_api }}barcode-scanner/index.html), with minimal configuration required. + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_ReadyToUseComponent){:target="_blank"} + ### ScanBarcodes_FoundationalAPI -This is a sample that demonstrates the simplest implementation of the Barcode Reader to allow for barcode decoding via the camera using the [Foundational API]({{ site.dbr_react_native_api }}). +This sample demonstrates how to scan barcodes from live camera preview using the [Foundational API]({{ site.dbr_react_native_api }}), providing full control over the camera, processing pipeline, and barcode results. [Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_FoundationalAPI){:target="_blank"} -### ScanBarcodes_ReadyToUseComponent +### ScanBarcodes_Expo -This is a sample that demonstrates the simplest implementation of the Barcode Reader to allow for barcode decoding via the camera using the [BarcodeScanner (Ready-To-Use) API]({{ site.dbr_react_native_api }}barcode-scanner/index.html). +This sample demonstrates barcode scanning using the [Foundational API]({{ site.dbr_react_native_api }}) in an Expo (Bare) project, showing how to integrate Dynamsoft Barcode Reader into an Expo-based workflow. -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_ReadyToUseComponent){:target="_blank"} +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_Expo){:target="_blank"} -### ScanDriverLicense +### ScanDriversLicense -This sample demonstrates the simplest implementation of the Barcode Reader for recognizing a PDF417 barcode from video streaming and extracting structured data from its encoded data. +This sample demonstrates how to recognize and extract information from drivers' licenses in real-time video streaming. [Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanDriversLicense){:target="_blank"} +### ScanVIN + +This sample demonstrates how to recognize and extract information from VIN barcodes in real-time video streaming. + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanVIN){:target="_blank"} + +### ScenarioOptimizedScanning + +This sample demonstrates how to optimize scanning performance for different barcode formats and scenarios by loading scenario-specific templates (1D Retail, 1D Industrial, QR Code, Data Matrix, Aztec, Dot Code, DPM, PDF417, and High-Density codes). + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScenarioOptimizedScanning){:target="_blank"} + +### BarcodeReaderSettings + +This sample demonstrates how to configure the barcode reading settings via the [Foundational API]({{ site.dbr_react_native_api }}), including barcode formats, expected barcode count, minimum result confidence, and timeout. + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/BarcodeReaderSettings){:target="_blank"} + +### LocateAnItemWithBarcode + +This sample demonstrates how to locate an item by scanning or entering its barcode ID, using visual guidance to help find the matching item in real-time video streaming. + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/LocateAnItemWithBarcode){:target="_blank"} + +### ReadGS1AI + +This sample demonstrates how to recognize and parse GS1 Application Identifiers (AIs) from barcodes, extracting and formatting fields such as dates and other AI data. + +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ReadGS1AI){:target="_blank"} + ## Demos If you would like to see the Barcode Reader in action before starting the development journey, we have a demo app available on both the App Store as well as the Google Play Store. From afc2ebdb841290a77763892e51853af130634f19 Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 14 Aug 2026 17:01:37 +0800 Subject: [PATCH 09/10] RN Release Delayed --- .../programming-react-native.html | 7 --- .../react-native/release-notes/index.md | 1 - .../release-notes/react-native-11.md | 51 ------------------- programming/react-native/samples/index.md | 48 +++-------------- 4 files changed, 6 insertions(+), 101 deletions(-) diff --git a/_includes/sidelist-programming/programming-react-native.html b/_includes/sidelist-programming/programming-react-native.html index f67adcd9..738a64e6 100644 --- a/_includes/sidelist-programming/programming-react-native.html +++ b/_includes/sidelist-programming/programming-react-native.html @@ -189,19 +189,12 @@
    • ImageDrawer
    • ImageIO
    • ImageProcessor
    • -
    • LayoutAnalysisParameter
    • -
    • LayoutAnalysisResult
    • -
    • LayoutAnalyzer
    • -
    • LayoutAxis
    • -
    • LayoutElement
    • MultiFrameResultCrossFilter
  • Enumerations
  • diff --git a/programming/react-native/release-notes/index.md b/programming/react-native/release-notes/index.md index 790c1616..8208958d 100644 --- a/programming/react-native/release-notes/index.md +++ b/programming/react-native/release-notes/index.md @@ -9,7 +9,6 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader React Native SDK - Release Notes -- [11.6.2000 (08/14/2026)](react-native-11.md#1162000-08142026) - [11.4.3010 (07/09/2026)](react-native-11.md#1143000-07082026) - [11.4.1300 (05/20/2026)](react-native-11.md#1141300-05202026) - [11.4.1200 (04/22/2026)](react-native-11.md#1141200-04222026) diff --git a/programming/react-native/release-notes/react-native-11.md b/programming/react-native/release-notes/react-native-11.md index a343ac44..8c9041d2 100644 --- a/programming/react-native/release-notes/react-native-11.md +++ b/programming/react-native/release-notes/react-native-11.md @@ -9,57 +9,6 @@ breadcrumbText: Release Notes # Dynamsoft Barcode Reader React Native SDK - Release Notes -## 11.6.2000 (08/14/2026) - -### Highlights - -#### Multi-Threaded Barcode Decoding - -- **Get results sooner with parallel processing** - Barcode decoding now uses a breadth-first strategy that decomposes a single DBR Task into one Localization Work and one or more Decoding Works. This improves thread utilization and reduces the chance that a slow `DeblurMode` attempt blocks other faster decoding attempts, helping valid results come back sooner. - -#### DataMatrix Color Inversion Detection - -- **Handle normal and inverted DataMatrix more efficiently** - Added [`AutoDetectColorInversion`]({{ site.dcv_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) to automatically handle both normal and inverted DataMatrix barcodes. Instead of processing the whole image twice, the SDK applies dual-polarity handling only to localized DataMatrix regions, which makes processing faster in dual-polarity scenarios. - -#### Barcode Layout Analysis - -- **Decode dense grid barcodes more completely** - Added [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) to organize barcode locations into logical line or matrix layouts and infer unrecognized barcode regions when gaps exist, enabling workflows such as fast first-pass decoding, missing-region inference, and targeted second-pass decoding on dense N*M barcode layouts. - -#### Cross-Version License Support - -- **Use a single license across SDK versions** - Full License 1.0 keys (starting with "f") that are non-perpetual are no longer version-checked, so the same key can be used across SDK versions without reactivation. - -### New - -- Added support for Micro PDF417-specific decoding mode. - -- Added [`AutoDetectColorInversion`]({{ site.dcv_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) parameter for `BarcodeFormatSpecification` to support automatic color-inversion detection for DataMatrix barcodes. - -- Added [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) class with [`analyze()`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html#analyze) static method for quadrilateral layout analysis. - -- Added [`LayoutPattern`]({{ site.dcv_react_native_api }}utility/enum-layout-pattern.html) enumeration with values `LP_UNKNOWN`, `LP_LINES`, and `LP_MATRIX`. - -- Added [`LayoutElementSource`]({{ site.dcv_react_native_api }}utility/enum-layout-element-source.html) enumeration with values `LES_NONE`, `LES_INPUT`, and `LES_INFERRED`. - -- Added [`MeasureUnit`]({{ site.dcv_react_native_api }}core/enum-measure-unit.html) enumeration with values `MU_PIXEL` and `MU_PERCENTAGE`. - -- Added [`LayoutAxis`]({{ site.dcv_react_native_api }}utility/layout-axis.html), [`LayoutAnalysisParameter`]({{ site.dcv_react_native_api }}utility/layout-analysis-parameter.html), [`LayoutElement`]({{ site.dcv_react_native_api }}utility/layout-element.html), and [`LayoutAnalysisResult`]({{ site.dcv_react_native_api }}utility/layout-analysis-result.html) for layout analysis configuration and results. - -- Added a new `GridBarcodeScanner` sample (with `sample_grid.png`) to demonstrate how to use [`LayoutAnalyzer`]({{ site.dcv_react_native_api }}utility/layout-analyzer.html) for barcode grid layout detection and logical row/column mapping. - -### Changed - -- [`MaxParallelTasks`]({{ site.dcv_parameters_reference }}capture-vision-template/max-parallel-tasks.html) now controls the total number of Work-level threads in the CVR thread pool. For DBR tasks, each Localization Work and Decoding Work occupies one thread slot. DLR and DDN tasks continue to occupy one thread per task. - -- [`set_device_friendly_name()`]({{ site.dcv_react_native_api }}license/license-manager.html#set_device_friendly_name) now enforces parameter constraints: maximum 64 characters, allowed characters are letters (a-z, A-Z), digits (0-9), hyphen (-), underscore (_), and period (.), and must start and end with a letter or digit. Returns [`EC_PARAMETER_VALUE_INVALID`]({{ site.dcv_react_native_api }}core/enum-error-code.html) if constraints are not met. - -- Improved the default display behavior of corner adjustment points in `ImageEditorView`. Previously, users had to tap the view before the corner adjustment points became visible. - -### Fixed - -- Fixed an issue in GS1-Databar AI `17` (YYMMDD) results where the month field could be missing a leading zero. -- Fixed several known crash issues. - ## 11.4.3010 (07/09/2026) ### Security Updates diff --git a/programming/react-native/samples/index.md b/programming/react-native/samples/index.md index 797e3b2d..e1ec012e 100644 --- a/programming/react-native/samples/index.md +++ b/programming/react-native/samples/index.md @@ -13,60 +13,24 @@ All of the samples that have been created for the Dynamsoft Barcode Reader React ## Barcode Reader Samples -### ScanBarcodes_ReadyToUseComponent - -This sample demonstrates the quickest way to scan barcodes from live camera preview using the [BarcodeScanner (Ready-To-Use) API]({{ site.dbr_react_native_api }}barcode-scanner/index.html), with minimal configuration required. - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_ReadyToUseComponent){:target="_blank"} - ### ScanBarcodes_FoundationalAPI -This sample demonstrates how to scan barcodes from live camera preview using the [Foundational API]({{ site.dbr_react_native_api }}), providing full control over the camera, processing pipeline, and barcode results. +This is a sample that demonstrates the simplest implementation of the Barcode Reader to allow for barcode decoding via the camera using the [Foundational API]({{ site.dbr_react_native_api }}). [Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_FoundationalAPI){:target="_blank"} -### ScanBarcodes_Expo +### ScanBarcodes_ReadyToUseComponent -This sample demonstrates barcode scanning using the [Foundational API]({{ site.dbr_react_native_api }}) in an Expo (Bare) project, showing how to integrate Dynamsoft Barcode Reader into an Expo-based workflow. +This is a sample that demonstrates the simplest implementation of the Barcode Reader to allow for barcode decoding via the camera using the [BarcodeScanner (Ready-To-Use) API]({{ site.dbr_react_native_api }}barcode-scanner/index.html). -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_Expo){:target="_blank"} +[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanBarcodes_ReadyToUseComponent){:target="_blank"} -### ScanDriversLicense +### ScanDriverLicense -This sample demonstrates how to recognize and extract information from drivers' licenses in real-time video streaming. +This sample demonstrates the simplest implementation of the Barcode Reader for recognizing a PDF417 barcode from video streaming and extracting structured data from its encoded data. [Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanDriversLicense){:target="_blank"} -### ScanVIN - -This sample demonstrates how to recognize and extract information from VIN barcodes in real-time video streaming. - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScanVIN){:target="_blank"} - -### ScenarioOptimizedScanning - -This sample demonstrates how to optimize scanning performance for different barcode formats and scenarios by loading scenario-specific templates (1D Retail, 1D Industrial, QR Code, Data Matrix, Aztec, Dot Code, DPM, PDF417, and High-Density codes). - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ScenarioOptimizedScanning){:target="_blank"} - -### BarcodeReaderSettings - -This sample demonstrates how to configure the barcode reading settings via the [Foundational API]({{ site.dbr_react_native_api }}), including barcode formats, expected barcode count, minimum result confidence, and timeout. - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/BarcodeReaderSettings){:target="_blank"} - -### LocateAnItemWithBarcode - -This sample demonstrates how to locate an item by scanning or entering its barcode ID, using visual guidance to help find the matching item in real-time video streaming. - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/LocateAnItemWithBarcode){:target="_blank"} - -### ReadGS1AI - -This sample demonstrates how to recognize and parse GS1 Application Identifiers (AIs) from barcodes, extracting and formatting fields such as dates and other AI data. - -[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-react-native-samples/tree/main/ReadGS1AI){:target="_blank"} - ## Demos If you would like to see the Barcode Reader in action before starting the development journey, we have a demo app available on both the App Store as well as the Google Play Store. From 73f139c445e26c0cf436514780492a82f34e4e70 Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 14 Aug 2026 17:07:47 +0800 Subject: [PATCH 10/10] Remove obsolete enum links from React Native programming documentation --- _includes/sidelist-programming/programming-react-native.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/_includes/sidelist-programming/programming-react-native.html b/_includes/sidelist-programming/programming-react-native.html index 738a64e6..28d39181 100644 --- a/_includes/sidelist-programming/programming-react-native.html +++ b/_includes/sidelist-programming/programming-react-native.html @@ -94,7 +94,6 @@
  • EnumGrayscaleEnhancementMode
  • EnumGrayscaleTransformationMode
  • EnumImagePixelFormat
  • -
  • EnumMeasureUnit
  • @@ -480,7 +479,6 @@