diff --git a/_includes/sidelist-parameters-organization.html b/_includes/sidelist-parameters-organization.html index 9222a414..9385c591 100644 --- a/_includes/sidelist-parameters-organization.html +++ b/_includes/sidelist-parameters-organization.html @@ -1,6 +1,6 @@ -
  • Parameter +
  • Parameter -
  • - + +
  • BarcodeDecodingSection Object
  • -
  • OutputTaskSetting Object +
  • OutputTaskSetting Object
  • -
  • ImageParameter Object +
  • ImageParameter Object
  • -
  • BarcodeFormatSpecification Object +
  • BarcodeFormatSpecification Object
  • -
  • CaptureVisionModel Object +
  • CaptureVisionModel Object
  • -
  • Global Parameter +
  • Global Parameter
  • diff --git a/llms.txt b/llms.txt index 24933961..912d4db6 100644 --- a/llms.txt +++ b/llms.txt @@ -38,5 +38,5 @@ This sub-site is a companion to the Parameter & Architecture Reference (https:// ## Pages -{% for article in site.pages %}{% if article.title %}- [{{article.title}}](https://www.dynamsoft.com{{ article.url | relative_url }}): {{ article.description }}{% endif %} +{% for article in site.pages %}{% if article.title %}- [{{article.title}}](https://www.dynamsoft.com{{ article.url | relative_url | replace: '.html', '.md' }}): {{ article.description }}{% endif %} {% endfor %} diff --git a/performance/accuracy.md b/performance/accuracy.md index d8f5c98f..6bd43b1e 100644 --- a/performance/accuracy.md +++ b/performance/accuracy.md @@ -67,7 +67,7 @@ The related parameters are [ `BarcodeFormatIds` ]({{ site.dcvb_parameters_refere ### Enable Result Text Filter -When the target barcodes are confirmed, the barcode texts might have common features that help you implement a result filter on the result text. Using the [`BarcodeFormatSpecification`]({{site.dcvb_parameters}}file/auxiliary/barcode-format-specification.html) parameters, you can add barcode result text restrictions like [`regular expression`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-regex-pattern.html) requirements and [`text length`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-length-range-array.html) range. +When the target barcodes are confirmed, the barcode texts might have common features that help you implement a result filter on the result text. Using the [`BarcodeFormatSpecification`]({{ site.dcvb_parameters_reference }}barcode-format-specification/index.html) parameters, you can add barcode result text restrictions like [`regular expression`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-regex-pattern.html) requirements and [`text length`]({{site.dcvb_parameters_reference}}barcode-format-specification/barcode-text-length-range-array.html) range. ### Exclude Small-Module Barcodes diff --git a/performance/speed.md b/performance/speed.md index 356ea1e6..5fc97319 100644 --- a/performance/speed.md +++ b/performance/speed.md @@ -144,7 +144,7 @@ When reading barcodes from a certain type of documents or from a video input, th There are two ways to specify the region: -* manually define a region by providing the coordinates of its contours. Each region is defined by a [TargetROIDef]({{ site.dcvb_parameters }}file/target-roi-definition/index.html) and then specified by [Location]({{ site.dcvb_parameters_reference }}target-roi-def/location.html); +* manually define a region by providing the coordinates of its contours. Each region is defined by a [TargetROIDef]({{ site.dcvb_parameters_reference }}target-roi-def/index.html) and then specified by [Location]({{ site.dcvb_parameters_reference }}target-roi-def/location.html); * let DBR find the region based on the colour/grayscale distribution of different parts of the image, this is controlled by the parameter [RegionPredetectionModes]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html). diff --git a/programming/features/barcode-scan-region.md b/programming/features/barcode-scan-region.md index d49d9873..08e818d5 100644 --- a/programming/features/barcode-scan-region.md +++ b/programming/features/barcode-scan-region.md @@ -10,7 +10,7 @@ noTitleIndex: true # Read a Specific Area/Region -Dynamsoft Barcode Reader (DBR) will locate the code region and decode the entire image by default. However, if only a specific region of the image or video is required to locate the barcode, you can define a Region Of Interest (ROI) via the parameter `TargetROIDef`. After defining a specific region, DBR will only decode barcodes within that region. Of course, this is very conducive to increasing the speed. Please refer to [`Design of the TargetROIDef Object`]({{ site.dcvb_parameters }}file/target-roi-definition/index.html) to learn more about `TargetROIDef` and how it works,. +Dynamsoft Barcode Reader (DBR) will locate the code region and decode the entire image by default. However, if only a specific region of the image or video is required to locate the barcode, you can define a Region Of Interest (ROI) via the parameter `TargetROIDef`. After defining a specific region, DBR will only decode barcodes within that region. Of course, this is very conducive to increasing the speed. Please refer to [`Design of the TargetROIDef Object`]({{ site.dcvb_parameters_reference }}target-roi-def/index.html) to learn more about `TargetROIDef` and how it works,. ## Single Region Specification diff --git a/programming/features/index.md b/programming/features/index.md new file mode 100644 index 00000000..61c18d3b --- /dev/null +++ b/programming/features/index.md @@ -0,0 +1,54 @@ +--- +layout: default-layout +title: Feature Articles - Dynamsoft Barcode Reader SDK +description: A collection of feature articles that explain how to configure Dynamsoft Barcode Reader to handle specific reading scenarios, such as difficult barcode surfaces, preprocessing, result handling, and UI customization. +keywords: barcode reader, features, feature articles +needGenerateH3Content: false +--- + +# Feature Articles + +The articles in this section explain how to configure Dynamsoft Barcode Reader to read barcodes in specific scenarios. Each article focuses on one feature and shows the parameters, modes, and code needed to apply it. + +## Configuration Basics + +* [Use SimplifiedCaptureVisionSettings or JSON Template](use-runtimesettings-or-templates.md): Compare the two ways to configure the SDK and learn the syntax rules of each. +* [Specify Barcode Formats and Count](barcode-formats-and-count.md): Target specific barcode formats and set the expected number of barcodes per image. +* [Control When to Terminate a Decoding Process](control-terminate-phase.md): End decoding early with `SectionArray`, `Timeout`, and `ExpectedBarcodesCount`. +* [Use Format Specific Configuration](use-format-specific-configuration.md): Apply settings for a particular barcode type with `BarcodeFormatSpecification`. +* [Read Barcode from Different Image Sources](read-different-source.md): Read from file paths, in-memory images, and raw pixel buffers. + +## Scan Region and Preprocessing + +* [Read a Specific Area/Region](barcode-scan-region.md): Restrict decoding to a region of interest with `TargetROIDef`. +* [Read Barcodes from a Specific Area/Region on Mobile](barcode-scan-region-mobile.md): Define a scan region on Android and iOS with Dynamsoft Camera Enhancer. +* [How To Use Region Predetection](use-region-predetection.md): Let the SDK find the regions of interest automatically. +* [How to Preprocess Images based on Different Scenarios](preprocess-images.md): Improve the detection rate with grayscale enhancement and binarization. +* [How to Read Barcodes from Large Images](read-a-large-image.md): Speed up decoding of large images with `ImageScaleSetting`. +* [How to Read Barcodes from Images with Textures](read-images-with-texture.md): Remove background texture with `TextureDetectionModes`. +* [How to Read Barcodes from an Image With Lots of Text](read-images-with-lots-of-text.md): Filter surrounding text so it does not interfere with localization. +* [How to Read Barcodes with Uneven Lighting](read-barcodes-with-uneven-lighting.md): Choose the right binarization mode for uneven lighting. +* [How to Read Barcodes with Imbalanced Colour](read-barcodes-with-imbalanced-colour.md): Tune RGB channel weights to produce a better grayscale image. + +## Difficult Barcode Surfaces + +* [Read Deformed Barcodes](read-deformed-barcodes.md): Read distorted barcodes on flexible packaging and cylindrical surfaces. +* [Read Incomplete Barcodes](read-incomplete-barcodes.md): Reconstruct barcodes with missing or damaged sections. +* [Read Inverted Barcodes](read-inverted-barcodes.md): Read light-on-dark barcodes. +* [How to Read High-Density QR Codes](read-dense-barcodes.md): Improve recognition of high-density QR codes. +* [How to Read Barcodes with Small Module Size](read-barcodes-with-small-module-size.md): Upscale tiny barcode symbols before recognition. + +## Working with Results + +* [How to Filter and Sort Barcode Results](filter-and-sort.md): Filter results by format, confidence, and region; sort by position or confidence. +* [How to Get Barcode Location](get-barcode-location.md): Retrieve the coordinates of decoded barcodes. +* [How to Get Barcode Confidence and Rotation Angle](get-confidence-rotation.md): Retrieve confidence scores and rotation angles. +* [How to Get Detailed Barcode Information](get-detailed-info.md): Access format-specific details such as module size and error correction level. +* [How to Use Intermediate Results](use-intermidiate-results.md): Access in-process data such as grayscale images and localization results. + +## Video Streaming and UI + +* [Read Barcode from Video Streaming (JavaScript)](read-video-streaming-js.md): Read from a live video stream with the `BarcodeScanner` class. +* [Read Barcode from Video Streaming (Mobile)](read-video-streaming-mobile.md): Capture and read video on Android and iOS with Dynamsoft Camera Enhancer. +* [Customize the UI for DBR JS](customize-the-ui.md): Customize the built-in UI of the `BarcodeScanner` class. +* [Customize the UI (Dynamsoft Camera Enhancer)](ui-customization-js.md): Customize the camera viewer UI with UI definition files and APIs. diff --git a/programming/features/use-runtimesettings-or-templates.md b/programming/features/use-runtimesettings-or-templates.md index 901f2db8..4569287d 100644 --- a/programming/features/use-runtimesettings-or-templates.md +++ b/programming/features/use-runtimesettings-or-templates.md @@ -164,7 +164,7 @@ Basic steps: 2. Save the template to a file or convert it to string 3. Call method `InitSettingsFromFile` or `InitSettings` to apply the settings -> Read [Parameter Template Structure]({{ site.dcvb_parameters }}file/index.html) to learn more about the structure of templates. +> Read [Parameter Template Structure]({{ site.dcvb_parameters_reference }}index.html) to learn more about the structure of templates. > JavaScript edition only supports importing a JSON string and not a file. diff --git a/programming/usecases/index.md b/programming/usecases/index.md new file mode 100644 index 00000000..2bb2c007 --- /dev/null +++ b/programming/usecases/index.md @@ -0,0 +1,21 @@ +--- +layout: default-layout +title: Use Cases - Dynamsoft Barcode Reader SDK +description: This page presents real-world use cases of Dynamsoft Barcode Reader, including reading DPM codes, postal codes, PDF417 on AAMVA documents, and scanning barcodes as input. +keywords: barcode reader, use cases +needGenerateH3Content: false +--- + +# Use Cases + +This section presents complete, real-world scenarios that combine multiple features of Dynamsoft Barcode Reader. + +## Reading Codes in Specific Scenarios + +* [How to Read DPM Codes](read-dpm-codes.md): Read Direct Part Mark (DPM) codes engraved or etched directly onto manufactured parts. +* [How to Read Postal Codes](read-postal-codes.md): Read postal barcodes such as USPS Intelligent Mail, Australia Post, and Royal Mail codes. + +## Scanning and Parsing Data + +* [Scan Barcodes as Input](scan-barcodes-as-input.md): Use barcode results as input to fill forms and trigger further actions. +* [Scan and parse PDF417 on AAMVA documents](scan-and-parse-AAMVA.md): Read and extract the encoded information on AAMVA-compatible driver's licenses. diff --git a/programming/usecases/read-dpm-codes.md b/programming/usecases/read-dpm-codes.md index b895887e..41acae28 100644 --- a/programming/usecases/read-dpm-codes.md +++ b/programming/usecases/read-dpm-codes.md @@ -52,5 +52,5 @@ Below is an example illustrating how to configure the parameter `DPMCodeReadingM ``` * Apply the above settings following the article [Use Templates for Configuring Parameters]({{ site.features }}use-runtimesettings-or-templates.html#json-template). -[1]:assets\read-dpm-codes\DPM-sample1.png -[2]:assets\read-dpm-codes\DPM-sample2.png +[1]:assets/read-dpm-codes/DPM-sample1.png +[2]:assets/read-dpm-codes/DPM-sample2.png diff --git a/programming/usecases/read-multipage-files.md b/programming/usecases/read-multipage-files.md deleted file mode 100644 index e69de29b..00000000 diff --git a/release-notes/dbr-rn-11.md b/release-notes/dbr-rn-11.md index 7938b6eb..028430cf 100644 --- a/release-notes/dbr-rn-11.md +++ b/release-notes/dbr-rn-11.md @@ -40,7 +40,7 @@ noTitleIndex: true | 11.6.3200 | [JavaScript]({{ site.js_release_notes}}js-11.html#1163200-09072026){:target="_blank"} | | 11.6.3000 | [JavaScript]({{ site.js_release_notes}}js-11.html#1163000-08252026){:target="_blank"} / [C++]({{ site.cpp_release_notes}}cpp-11.html#1163000-08202026){:target="_blank"} / [.NET]({{ site.dotnet_release_notes }}dotnet-11.html#1163000-08202026){:target="_blank"} / [Python]({{ site.python_release_notes}}python-11.html#1163000-08202026){:target="_blank"} / [Java]({{ site.java_release_notes}}java-11.html#1163000-08202026){:target="_blank"} | | 11.6.2100 | [JavaScript]({{ site.js_release_notes}}js-11.html#1162100-08182026){:target="_blank"} | -| 11.6.2000 | [JavaScript]({{ site.js_release_notes}}js-11.html#1162000-08132026){:target="_blank"} / [Android]({{ site.android_release_notes}}android-11.html#1162000-08142026){:target="_blank"} / [iOS]({{ site.oc_release_notes }}ios-11.html#1162000-08142026){:target="_blank"} / [React Native]({{ site.react_native_release_notes }}react-native-11.html#1162000-08252026){:target="_blank"} | +| 11.6.2000 | [JavaScript]({{ site.js_release_notes}}js-11.html#1162000-08132026){:target="_blank"} / [Android]({{ site.android_release_notes}}android-11.html#1162000-08142026){:target="_blank"} / [iOS]({{ site.oc_release_notes }}ios-11.html#1162000-08142026){:target="_blank"} / [React Native]({{ site.react_native_release_notes }}react-native-11.html#1162000-08252026){:target="_blank"} / [Flutter]({{ site.flutter_release_notes }}flutter-11.html#1163200-09102026){:target="_blank"} | | 11.6.1000 | [C++]({{ site.cpp_release_notes}}cpp-11.html#1161000-07232026){:target="_blank"} / [.NET]({{ site.dotnet_release_notes }}dotnet-11.html#1161000-07232026){:target="_blank"} / [Python]({{ site.python_release_notes}}python-11.html#1161000-07232026){:target="_blank"} / [Java]({{ site.java_release_notes}}java-11.html#1161000-07232026){:target="_blank"} | ## 11.4 (02/05/2026)