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)