diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d7219cd --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,56 @@ +# Agent guide: writing and wiring FAQ articles + +This file is for AI agents (and anyone else) authoring or editing FAQ content in this repo. See `README.md` for what this repo is and how it's built. + +## Adding a new article + +Create a Markdown file in the right product/topic directory (see "Directory map" below) with this frontmatter and structure: + +```markdown +--- +layout: default-layout +title: +keywords: +description: +needAutoGenerateSidebar: false +--- + +# + +Answer content... +``` + +Rules: + +- **Always include the H1.** It must be the real question the article answers — not a changelog-style heading, not omitted. If you're not sure how to phrase it, check the link text used for this article in its directory's `index.md`; that's the canonical phrasing. +- **Link it from `index.md`.** Every subdirectory (`barcode-reader/general/`, `barcode-reader/web/configuration/`, `mrz-scanner/general/`, etc.) has an `index.md` that lists every article in that section. A new article with no entry there is orphaned — it exists but no one can navigate to it. Add a bullet there when you add the file, and remove the bullet if you remove the file. +- **Internal links use `.html`, not `.md`.** Link to sibling/other articles as `some-page.html` (Jekyll serves the built output), and to a parent-directory archive as `../archive/some-page.html`, etc. A link ending in `.md` will not resolve on the live site. +- **Don't add "back to index" links inside articles.** They were deliberately removed repo-wide; the sidebar/index already provides navigation. +- **Images** go through a site variable per product/edition — `{{site.dbr_web_assets}}`, `{{site.dbr_mobile_assets}}`, `{{site.dbr_server_assets}}` (defined in `_config.yml`), pointing at that edition's `assets/` directory. Before referencing an image, confirm the file actually exists at that path — a stale or placeholder filename (e.g. a literal `undefined.png`) will silently 404. +- **Write the answer as a direct statement, not a raw Q&A fragment.** Don't leave phrasing like "Yes — ..." or "This can be expanded ..." floating with no visible question or antecedent above it — the H1 is the question; the body should read as its answer, not as a leftover snippet. +- **Don't duplicate a section under a second heading.** If a "what's new"/changelog-style heading and a "how to" heading right below it cover the same ground, merge them. + +## Directory map + +- `barcode-reader/general/` — cross-edition Barcode Reader FAQs +- `barcode-reader/mobile/`, `barcode-reader/server/`, `barcode-reader/web/` — edition-specific Barcode Reader FAQs, each split into topic subdirectories (`configuration/`, `capabilities/`, `debug/`, `scan-setting/`, etc.) +- `mrz-scanner/general/` — MRZ Scanner FAQs +- `license/` — licensing FAQs shared across products + +## Archived content (`*/archive/*`) + +Directories named `archive` under `barcode-reader/{mobile,server,web}/` hold historical, version-pinned content (e.g. `-v9.6.40`, `-v10.4.2000` snapshots). They are: + +- Excluded from the Jekyll build via `_config.yml`'s `exclude:` list — not hosted, not in `sitemap.xml`. +- Not linked from any live index or sidebar, and shouldn't be. Don't add new links into an `archive/` directory from a live page. +- Not to be "modernized" — if you're editing a file in `archive/`, fix only structural issues (a truly broken build, a factual error introduced by your own change), not stale APIs or old terminology; that staleness is the point. + +If you find yourself wanting to *add* content to an archive directory, it almost certainly belongs in the live directory instead. + +## Before finishing + +Run the link checker from the repo root and fix anything it flags in files you touched: + +```bash +python check_links.py +``` diff --git a/README.md b/README.md index dff09cc..1fc04f5 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,19 @@ ---- -layout: default-layout -title: Dynamsoft Capture Vision FAQ -keywords: faq, capture vision, dcv, dynamsoft, barcode reader, mrz scanner -description: Dynamsoft Capture Vision FAQ Documentation -needAutoGenerateSidebar: false -noTitleIndex: true ---- +# Dynamsoft FAQ -# Dynamsoft Capture Vision FAQ +Source for the FAQ site covering Dynamsoft's products, published at [dynamsoft.com/faq](https://www.dynamsoft.com/faq). This repo holds the Barcode Reader, MRZ Scanner, and licensing FAQs; Dynamic Web TWAIN (a separate product line, not part of Capture Vision) has its own FAQ section linked from the homepage (`index.md`) but sourced from a different repo. -Select a product below to browse its FAQs. +## Writing or editing an article - - +## Building and deploying -
+The site is built with Jekyll using a shared theme/layout maintained in [dynamsoft-docs/Docs-Template-Repo](https://github.com/dynamsoft-docs/Docs-Template-Repo), which this repo doesn't include locally. Pushes to `main` and `preview` trigger the CI workflows in `.github/workflows/main.yml`, which build and sync to production and the preview/testing environment respectively. - - -
📲Barcode Reader
-

Barcode Reader

-

General usage, requirements, configuration, and troubleshooting guides.

-
+## Checking links - - -
🛂MRZ Scanner
-

MRZ Scanner

-

Setup, supported formats, UI customization, and integration examples.

-
+`check_links.py` crawls the repo's Markdown files and reports broken links. Run it before submitting a change that touches links: -
+```bash +python check_links.py +``` diff --git a/_config.yml b/_config.yml index 6e3d8ba..8f4aa09 100644 --- a/_config.yml +++ b/_config.yml @@ -34,6 +34,15 @@ sad_icon: /faq/assets/img-icon/icon-sad.png plugins: - jekyll-sitemap +# Archived, version-pinned FAQ content. Kept in the repo for reference, +# but not built/hosted on the live site and not listed in sitemap.xml. +exclude: + - barcode-reader/mobile/archive + - barcode-reader/server/archive + - barcode-reader/web/archive + # Plain repo-contributor README, not a site page. + - README.md + defaults: - scope: path: "" diff --git a/barcode-reader/general/avoid-incorrect-barcode-results.md b/barcode-reader/general/avoid-incorrect-barcode-results.md index ccd140b..e3dc17d 100644 --- a/barcode-reader/general/avoid-incorrect-barcode-results.md +++ b/barcode-reader/general/avoid-incorrect-barcode-results.md @@ -13,21 +13,15 @@ needAutoGenerateSidebar: false --- -> **Notice (Temporary Issue)** -> This is a known issue in versions 11.0.0 - 11.0.6000 and has been fixed in version 11.2. -> -> As a temporary solution, please set `IncludeTrailingCheckDigit` to `0` in the `BarcodeFormatSpecification` for Code128. -> This will prevent the SDK from returning the trailing check digit. - ### CODE_128 decoding returns an extra byte? When using DBR v11, you may notice that decoding a **CODE_128** barcode returns one extra byte at the end if you call `item.get_bytes()`. **Cause** -By default, DBR includes the trailing check digit for CODE_128 in the decoded byte results. +By default, DBR includes the trailing check digit for CODE_128 in the decoded byte results. This is a known issue in versions 11.0.0 - 11.0.6000 and has been fixed in version 11.2. **Solution** -Set `IncludeTrailingCheckDigit` to `0` in the `BarcodeFormatSpecification` for Code128. +Set `IncludeTrailingCheckDigit` to `0` in the `BarcodeFormatSpecification` for Code128. This will prevent the SDK from returning the trailing check digit. **Example JSON Configuration** diff --git a/barcode-reader/general/avoid-incorrect-results.md b/barcode-reader/general/avoid-incorrect-results.md index b25754a..8a6bd39 100644 --- a/barcode-reader/general/avoid-incorrect-results.md +++ b/barcode-reader/general/avoid-incorrect-results.md @@ -6,6 +6,6 @@ description: How to filter results with the barcode result length? needAutoGenerateSidebar: false --- -# How to filter results with the barcode result length? +# How to filter incorrect results with the barcode result length? One way to filter results is to set the [minBarcodeTextLength](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=int%20minResultConfidence%3B-,int%20minBarcodeTextLength%3B,-char%20barcodeTextRegExPattern%5B) in [SimplifiedBarcodeReaderSettings](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=SimplifiedBarcodeReaderSettings-,SimplifiedBarcodeReaderSettings,-The%20SimplifiedBarcodeReaderSettings%20struct) of [SimplifiedCaptureVisionSettings](https://www.dynamsoft.com/capture-vision/docs/server/programming/cplusplus/api-reference/capture-vision-router/structs/simplified-capture-vision-settings.html?product=dbr&repoType=server) to the correct length that the barcode results should be. Say that the barcode results should at least be 10 characters long, and the results are sometimes coming out with just 6 or 7 characters. By setting the minBarcodeTextLength to 10, the SDK will ignore results that are shorter than 10 characters. diff --git a/barcode-reader/general/check-current-version.md b/barcode-reader/general/check-current-version.md index 33f3d28..5f65907 100644 --- a/barcode-reader/general/check-current-version.md +++ b/barcode-reader/general/check-current-version.md @@ -11,11 +11,10 @@ needAutoGenerateSidebar: false There are multiple ways to check the version currently being used - - The first way is to use the [version API](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/barcode-reader-module-class.html#getversion). Using this API in the browser console should print out the version of the library being used by the web app. -- If you are using the library via npm or yarn, then you can check the version of the package via - - ```bash - npm –v dynamsoft-javascript-barcode - ``` +- If you are using the library via npm or yarn, then you can check the installed version of the package via `npm list`. Note that the npm package has been renamed across major versions: + - Version 11 and above: `npm list dynamsoft-barcode-reader-bundle` + - Version 10: `npm list dynamsoft-barcode-reader` + - Version 9: `npm list dynamsoft-javascript-barcode` - If you are including the library via the CDN link, then the version number should be mentioned in that reference link. @@ -45,7 +44,7 @@ print("Dynamsoft Barcode Reader Version: \(version)") ``` > ```java -BarcodeReaderModule reader = BarcodeReaderModule(); +BarcodeReaderModule reader = new BarcodeReaderModule(); String versionInfo = reader.getVersion(); ``` > diff --git a/barcode-reader/mobile/archive/android/debug-mode.md b/barcode-reader/mobile/archive/android/debug-mode.md index f9c002c..74800cd 100644 --- a/barcode-reader/mobile/archive/android/debug-mode.md +++ b/barcode-reader/mobile/archive/android/debug-mode.md @@ -8,8 +8,6 @@ needAutoGenerateSidebar: true # How to use Debug Mode in Barcode Scanner X? -## Debug Mode in BarcodeScannerX(Android) - If you are experiencing app crashes in your own application or you’ve come across some barcode(s) that you can’t read and you have exhausted all of the other troubleshooting methods, Debug Mode of the [BarcodeScannerX](https://www.dynamsoft.com/barcode-reader/sdk-mobile/#appDemo) demo app can help offer one last effort to resolve these issues. This next section will explain how to toggle on debug mode on the demo app, and will then dive into how to collect crash logs and/or image samples. diff --git a/barcode-reader/mobile/archive/android/index-v10.4.2000.md b/barcode-reader/mobile/archive/android/index-v10.4.2000.md index 7253a2c..81bf783 100644 --- a/barcode-reader/mobile/archive/android/index-v10.4.2000.md +++ b/barcode-reader/mobile/archive/android/index-v10.4.2000.md @@ -29,7 +29,7 @@ noTitleIndex: true 10. [Can I reduce the size of the final Android app?](reduce-final-size.md) -11. [How to use Debug Mode in Barcode Scanner X?](debug-mode-barcodescannerx.md) +11. [How to use Debug Mode in Barcode Scanner X?](debug-mode.md) 12. [How to prevent project build failure after shrinking code?](proguard.md) diff --git a/barcode-reader/mobile/archive/android/no-camera-enhancer-v9.6.40.md b/barcode-reader/mobile/archive/android/no-camera-enhancer-v9.6.40.md index 56ccaef..79c9f91 100644 --- a/barcode-reader/mobile/archive/android/no-camera-enhancer-v9.6.40.md +++ b/barcode-reader/mobile/archive/android/no-camera-enhancer-v9.6.40.md @@ -8,6 +8,6 @@ needAutoGenerateSidebar: true # How can I use CameraX or third-party camera modules with Dynamsoft Barcode Reader? -You can read this [article](../samples/no-camera-enhancer.md) on how to use the video stream via CameraX such that the output frames from `CameraX` are converted into `imageData` which can be used as input for the barcode reader. If you would like to see a quick code snippet on how to convert these frames from `CameraX` into `ImageData`, please see it here. +You can read this [article](../../configuration/no-camera-enhancer.md) on how to use the video stream via CameraX such that the output frames from `CameraX` are converted into `imageData` which can be used as input for the barcode reader. If you would like to see a quick code snippet on how to convert these frames from `CameraX` into `ImageData`, please see it here. > **_NOTE:_** The Barcode Reader decodes barcodes from an `ImageData` object. The `ImageData` object stores the pixel buffer, width, height, stride and pixel format of the image. *However, it is always recommended to use DBR in conjunction with DCE for the best results and performance*. \ No newline at end of file diff --git a/barcode-reader/mobile/archive/ios/drivers-license-extraction-v9.6.40.md b/barcode-reader/mobile/archive/ios/drivers-license-extraction-v9.6.40.md index aab3a63..be51c59 100644 --- a/barcode-reader/mobile/archive/ios/drivers-license-extraction-v9.6.40.md +++ b/barcode-reader/mobile/archive/ios/drivers-license-extraction-v9.6.40.md @@ -8,6 +8,6 @@ needAutoGenerateSidebar: true # Can I extract the driver’s information from a PDF417 barcode? -In the Barcode Scanner X(mobile app), "US Driver's License" scenario is able to parse driver's information from driver's licenses. +In the Barcode Scanner X (mobile app), "US Driver's License" scenario is able to parse driver's information from driver's licenses. At the moment, there is no external framework that is responsible for this function in the sample. However, the team is currently developing an edition of our complimentary product, the *Dynamsoft Code Parser*, that is compatible with the mobile platform. \ No newline at end of file diff --git a/barcode-reader/mobile/archive/ios/index.md b/barcode-reader/mobile/archive/ios/index.md index f7e7f17..bbe60d6 100644 --- a/barcode-reader/mobile/archive/ios/index.md +++ b/barcode-reader/mobile/archive/ios/index.md @@ -86,7 +86,7 @@ func onDecodedBarcodesReceived(_ result: DecodedBarcodesResult) { } ``` -## How to resolve the "Building for iOS Simulator, but linking in dylib built for iOS" error when building for the iOS simulator?](arm64-simulator-error.md) +## How to resolve the "Building for iOS Simulator, but linking in dylib built for iOS" error when building for the iOS simulator? DBR iOS can be used to build apps that belong to the arm64 architecture. If you try building an app for the arm64 simulator, and you migrated your app from an older version of Xcode to Xcode 12 or higher, then you might encounter the following error message: @@ -238,7 +238,7 @@ Nowadays, most QR codes are QR code Model 2. BarcodeScannerX, by default, only s 7. Click **Import Template** in the Advanced Scan settings of BarcodeScannerX. Then input the link. 8. Now you can scan QR code Model 1! -## How to Handle Non-printable Characters Like "\u{1D}" or "{GS}" from the Barcode Text?]({{site.faq_general}}unprintable-character.html?lang=objc,swift) +## How to Handle Non-printable Characters Like "\u{1D}" or "{GS}" from the Barcode Text? This page helps to you modify the barcode results when non-printable characters exists in the barcode text you decoded. diff --git a/barcode-reader/mobile/capabilities/index.md b/barcode-reader/mobile/capabilities/index.md index c20522a..088748c 100644 --- a/barcode-reader/mobile/capabilities/index.md +++ b/barcode-reader/mobile/capabilities/index.md @@ -7,5 +7,7 @@ needAutoGenerateSidebar: false noTitleIndex: true --- +# Capabilities Index + - [Architecture armv7 Error](armv7-architecture-error.html) - [Minimum System Requirements](min-system-requirements.html) diff --git a/barcode-reader/mobile/configuration/no-camera-enhancer.md b/barcode-reader/mobile/configuration/no-camera-enhancer.md index eb4ab8d..69c5210 100644 --- a/barcode-reader/mobile/configuration/no-camera-enhancer.md +++ b/barcode-reader/mobile/configuration/no-camera-enhancer.md @@ -6,15 +6,15 @@ description: How can I use AVCaptureSession, CameraX or third-party camera modul needAutoGenerateSidebar: true --- -# How can I use AVCaptureSession, CameraX or third-party camera modules with Dynamsoft Barcode Reader - Android? +# How can I use AVCaptureSession, CameraX or third-party camera modules with Dynamsoft Barcode Reader? -# Android +## Android -## CameraX +### CameraX -If you are using the CameraX, you can view [HelloWorld/DecodeWithCamerX sample](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/android/FoundationalAPISamples/DecodeWithCameraX) for a quick start. +If you are using CameraX, you can view [HelloWorld/DecodeWithCameraX sample](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/android/FoundationalAPISamples/DecodeWithCameraX) for a quick start. -## Third-Party Camera Module +### Third-Party Camera Module If you are using a third-party camera module, what you have to do is: @@ -23,13 +23,13 @@ If you are using a third-party camera module, what you have to do is: - Create an instance of the [CaptureVisionRouter](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/android/api-reference/capture-vision-router/multiple-file-processing.html?product=dbr&lang=android) class. Then trigger the [`setInput`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/android/api-reference/capture-vision-router/multiple-file-processing.html#setinput) method with the instance of your camera class as the parameter. - Trigger the [`startCapturing`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/android/api-reference/capture-vision-router/multiple-file-processing.html#startcapturing) method to start the barcode decoding. -# iOS +## iOS -## AVCaptureSession +### AVCaptureSession -If you are using the CameraX, you can view [HelloWorld/DecodeWithAVCaptureSession sample](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/ios/FoundationalAPISamples/DecodeWithAVCaptureSession) for a quick start. +If you are using AVCaptureSession, you can view [HelloWorld/DecodeWithAVCaptureSession sample](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/ios/FoundationalAPISamples/DecodeWithAVCaptureSession) for a quick start. -## Third-Party Camera Module +### Third-Party Camera Module If you are using a third-party camera module, what you have to do is: diff --git a/barcode-reader/mobile/configuration/reduce-battery-consumption.md b/barcode-reader/mobile/configuration/reduce-battery-consumption.md index 5d5c3d1..3d3169e 100644 --- a/barcode-reader/mobile/configuration/reduce-battery-consumption.md +++ b/barcode-reader/mobile/configuration/reduce-battery-consumption.md @@ -20,7 +20,7 @@ If scanning is only needed occasionally, be sure to stop the camera and barcode Call the appropriate method to stop capturing: - **Android**: [`stopCapturing`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/android/api-reference/capture-vision-router/multiple-file-processing.html?product=dbr&lang=android#stopcapturing) -- **iOS**: [`stopCapturing`](http://dynamsoft.com/capture-vision/docs/mobile/programming/ios/api-reference/capture-vision-router/multiple-file-processing.html?product=dbr&lang=objectivec-swift#stopcapturing) +- **iOS**: [`stopCapturing`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/ios/api-reference/capture-vision-router/multiple-file-processing.html?product=dbr&lang=objectivec-swift#stopcapturing) This ensures that system resources like the camera and CPU are properly released, reducing battery drain. diff --git a/barcode-reader/mobile/debug/page-freeze.md b/barcode-reader/mobile/debug/page-freeze.md index c8e9f93..ece0d74 100644 --- a/barcode-reader/mobile/debug/page-freeze.md +++ b/barcode-reader/mobile/debug/page-freeze.md @@ -8,9 +8,9 @@ needAutoGenerateSidebar: true # Why does the page sometimes freeze when I start the scanner? -Before a barcode reader instance can be created, a one-time connection for license validation needs to occur when the app initializes (or whenever the license is set before the barcode reader instance creation). Sometimes, this license validation could take a second to complete. +Before a barcode reader instance can be created, a one-time connection for license validation needs to occur when the app initializes (or whenever the license is set before the barcode reader instance creation). Sometimes, this license validation could take a second to complete and could cause the UI to appear frozen. -A potential "freeze" of the page can occur if `initLicense()` is called multiple times in a single process. Please make sure that `initLicense` is called only once in your code. +A potential "freeze" of the page can occur if [`initLicense()`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/ios/api-reference/license/license-manager.html?product=dbr&lang=objectivec-swift#initlicense) is called multiple times in a single process. For example, if you call `initLicense` in both the `AppDelegate` and the `ViewController`, a conflict might occur. Please make sure that `initLicense` is called only once, ideally in the `AppDelegate`. To help troubleshoot whether the method is being called multiple times, we recommend stepping through the code using a debugger. diff --git a/barcode-reader/mobile/index.md b/barcode-reader/mobile/index.md index 28cf768..5ec05eb 100644 --- a/barcode-reader/mobile/index.md +++ b/barcode-reader/mobile/index.md @@ -13,7 +13,7 @@ Welcome to the FAQ for Dynamsoft Barcode Reader on mobile platforms. Browse the ## Capabilities & Requirements -- [Minimum System Requirements](capabilities/min-system-requirements.md) +- [Minimum System Requirements](capabilities/min-system-requirements.html) - [iOS - ARMv7 Architecture Error](capabilities/armv7-architecture-error.html) ## Configuration @@ -37,7 +37,7 @@ Welcome to the FAQ for Dynamsoft Barcode Reader on mobile platforms. Browse the ## Simulator -- [iOS - Simulator Support](simulator/simulator-support.html) +- [Simulator Support](simulator/simulator-support.html) - [iOS - How to resolve the "Building for iOS Simulator, but linking in dylib built for iOS" error?](simulator/arm64-simulator-error.html) ## Debugging diff --git a/barcode-reader/mobile/scan-setting/index.md b/barcode-reader/mobile/scan-setting/index.md index 1a1beb4..1b630f6 100644 --- a/barcode-reader/mobile/scan-setting/index.md +++ b/barcode-reader/mobile/scan-setting/index.md @@ -11,4 +11,4 @@ noTitleIndex: true - [One-off vs Continuous Scanning](disable-continuous-scanning.html) - [How to Enable QR Code Model 1](how-to-enable-qr-model-one.html) -- [Common Issues & Settings](template-support.html) +- [Import Settings from Barcode Scanner X](template-support.html) diff --git a/barcode-reader/mobile/scan-setting/template-support.md b/barcode-reader/mobile/scan-setting/template-support.md index f9c9f96..c6e87d8 100644 --- a/barcode-reader/mobile/scan-setting/template-support.md +++ b/barcode-reader/mobile/scan-setting/template-support.md @@ -1,26 +1,12 @@ --- layout: default-layout -title: Common Issues & Settings - DBR Mobile FAQs -keywords: Dynamsoft Barcode Reader, FAQ, Mobile, tech basic, android, ios, freeze, license, template, scanner settings -description: Solve page freeze issue on iOS and learn how to import settings from Barcode Scanner X on Android. +title: Import Settings from Barcode Scanner X - DBR Mobile FAQs +keywords: Dynamsoft Barcode Reader, FAQ, Mobile, tech basic, android, template, scanner settings +description: How do I import settings from the Barcode Scanner X app into my own Android app? - DBR Mobile FAQs. needAutoGenerateSidebar: true --- -# Common Issues & Settings - ---- - -## iOS: Why does the page sometimes freeze when I start the scanner? - -Before a barcode reader instance can be created, a one-time license validation needs to occur when the app initializes (or whenever the license is set before the reader instance is created). Occasionally, this process may take a second to complete and could cause the UI to appear frozen. - -A common cause is calling [`LicenseManager.initLicense()`](https://www.dynamsoft.com/capture-vision/docs/mobile/programming/ios/api-reference/license/license-manager.html?product=dbr&lang=objectivec-swift#initlicense) multiple times in the same process. For example, if you call `initLicense` in both the `AppDelegate` and the `ViewController`, a conflict might occur. - -✅ **Recommendation**: Call `initLicense` only once, ideally in the `AppDelegate`. - ---- - -## Android: How do I import settings from the Barcode Scanner X app into my own app? +# How do I import settings from the Barcode Scanner X app into my own Android app? In the **Barcode Scanner X** app: diff --git a/barcode-reader/server/archive/unable-to-scan-aztec-code.md b/barcode-reader/server/archive/unable-to-scan-aztec-code.md deleted file mode 100644 index 98f086a..0000000 --- a/barcode-reader/server/archive/unable-to-scan-aztec-code.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: default-layout -title: Why am I unable to scan an Aztec code in the helloworld sample? -keywords: Dynamsoft Barcode Reader, FAQ, tech basic, hello world sample, aztec code -description: Why am I unable to scan an Aztec code in the helloworld sample? -needAutoGenerateSidebar: false ---- - -# Why am I unable to scan an Aztec code in the helloworld sample? - -The reason for this is that the JavaScript edition defaults to the `compact engine`, rather than the `full engine`. The compact engine currently only supports `1D`, `QR`, `PDF417`, and `DataMatrix` codes. - -To switch to the full engine, please call the following before creating the `BarcodeReader/BarcodeScanner` instance: - -```javascript -Dynamsoft.DBR.BarcodeScanner._bUseFullFeature = true; -``` diff --git a/barcode-reader/server/configuration/avoid-incorrect-results.md b/barcode-reader/server/configuration/avoid-incorrect-results.md index acde612..d19f395 100644 --- a/barcode-reader/server/configuration/avoid-incorrect-results.md +++ b/barcode-reader/server/configuration/avoid-incorrect-results.md @@ -8,4 +8,4 @@ needAutoGenerateSidebar: false # How to filter incorrect results with the barcode result length? -One way to avoid this is to set the [minBarcodeTextLength](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=int%20minResultConfidence%3B-,int%20minBarcodeTextLength%3B,-char%20barcodeTextRegExPattern%5B) in [SimplifiedBarcodeReaderSettings](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=SimplifiedBarcodeReaderSettings-,SimplifiedBarcodeReaderSettings,-The%20SimplifiedBarcodeReaderSettings%20struct) of [SimplifiedCaptureVisionSettings](https://www.dynamsoft.com/capture-vision/docs/server/programming/cplusplus/api-reference/capture-vision-router/structs/simplified-capture-vision-settings.html?product=dbr&repoType=server) to the correct length that the barcode results should be. Say that the barcode results should at least be 10 characters long, and the results are sometimes coming out with just 6 or 7 characters. By setting the minBarcodeTextLength to 10, the SDK will ignore results that are shorter than 10 characters. +To filter out incorrect results, set the [minBarcodeTextLength](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=int%20minResultConfidence%3B-,int%20minBarcodeTextLength%3B,-char%20barcodeTextRegExPattern%5B) in [SimplifiedBarcodeReaderSettings](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/simplified-barcode-reader-settings.html#:~:text=SimplifiedBarcodeReaderSettings-,SimplifiedBarcodeReaderSettings,-The%20SimplifiedBarcodeReaderSettings%20struct) of [SimplifiedCaptureVisionSettings](https://www.dynamsoft.com/capture-vision/docs/server/programming/cplusplus/api-reference/capture-vision-router/structs/simplified-capture-vision-settings.html?product=dbr&repoType=server) to the correct length that the barcode results should be. Say that the barcode results should at least be 10 characters long, and the results are sometimes coming out with just 6 or 7 characters. By setting the minBarcodeTextLength to 10, the SDK will ignore results that are shorter than 10 characters. diff --git a/barcode-reader/server/configuration/error-10022-the-PDF-DLL-is-missing.md b/barcode-reader/server/configuration/error-10022-the-PDF-DLL-is-missing.md index 3ae77b7..6cbcb4c 100644 --- a/barcode-reader/server/configuration/error-10022-the-PDF-DLL-is-missing.md +++ b/barcode-reader/server/configuration/error-10022-the-PDF-DLL-is-missing.md @@ -8,9 +8,6 @@ needAutoGenerateSidebar: false # How to troubleshoot error message "-10022 The PDF DLL is missing" -[<< Back to FAQ index](index.md) - - The error message `-10022 The PDF DLL is missing` indicates that the Dynamsoft Barcode Reader is looking for a PDF DLL file, which is typically used in Windows environments. However, this error message may also appear in Linux environments, as both cases point to the same issue due to a shared error message library. This error occurs when the necessary PDF library files required for handling PDF files are either missing or the required dependencies are not in the correct path. diff --git a/barcode-reader/server/configuration/error-license-buffer.md b/barcode-reader/server/configuration/error-license-buffer.md index 45da57e..ee6e6cc 100644 --- a/barcode-reader/server/configuration/error-license-buffer.md +++ b/barcode-reader/server/configuration/error-license-buffer.md @@ -8,8 +8,6 @@ needAutoGenerateSidebar: false # How to resolve error failed to read or write license buffer? -[<< Back to FAQ index](index.md) - When initializing the license for cloud hosted services, it is common to come across the following error message: `Error Code - DM_LICENSE_BUFFER_FAILED. Value - 20002. Description - Failed to read or write license buffer.` diff --git a/barcode-reader/server/configuration/index.md b/barcode-reader/server/configuration/index.md index e9c1f36..da3334f 100644 --- a/barcode-reader/server/configuration/index.md +++ b/barcode-reader/server/configuration/index.md @@ -13,7 +13,6 @@ noTitleIndex: true - [How to create custom settings template?](custom-settings-template.html) - [How to enable DPM?](how-to-enable-dpm.html) - [How can I sort the barcodes of my image in reading order?](sort-barcodes-image.html) -- [Unable to scan Aztec code](unable-to-scan-aztec-code.html) - [How to handle non-English characters?](non-english-characters.html) - [The error message "-10022 The PDF DLL is missing" on Linux?](error-10022-the-PDF-DLL-is-missing.html) - [How to resolve error failed to read or write license buffer?](error-license-buffer.html) \ No newline at end of file diff --git a/barcode-reader/server/configuration/non-english-characters.md b/barcode-reader/server/configuration/non-english-characters.md index 0404c58..67f7fc0 100644 --- a/barcode-reader/server/configuration/non-english-characters.md +++ b/barcode-reader/server/configuration/non-english-characters.md @@ -6,8 +6,8 @@ description: What I can do when barcode image returns messy (non-english) charac needAutoGenerateSidebar: false --- -# What I can do when barcode image returns messy (non-english) characters? +# How to handle non-English characters? -The barcode text of the result is of a non-Latin based language, as by default most webpages are able to display Latin-based languages. +This happens when the barcode text is in a non-Latin-based language, as by default most webpages are only able to display Latin-based languages. In order to display the barcode text, it is best to do it via the [`getBytes`](https://www.dynamsoft.com/barcode-reader/docs/server/programming/cplusplus/api-reference/barcode-result-item.html#getbytes) of the CBarcodeResultItem. Once the bytes are obtained, you can 'translate' them to a string based on the encoding identifier of the language that you are trying to display. diff --git a/barcode-reader/web/archive/difference-between-barcodeReader-and-barcodeScanner.md b/barcode-reader/web/archive/difference-between-barcodeReader-and-barcodeScanner.md index f2f4768..8d7b11c 100644 --- a/barcode-reader/web/archive/difference-between-barcodeReader-and-barcodeScanner.md +++ b/barcode-reader/web/archive/difference-between-barcodeReader-and-barcodeScanner.md @@ -8,7 +8,8 @@ needAutoGenerateSidebar: false # What is the difference between the BarcodeReader class and the BarcodeScanner class? Can they be used interchangeably? -**_NOTE:_** - This is for version 9 or lower of barcode reader sdk +**_NOTE:_** - This is for version 9 or lower of barcode reader sdk + No, as each offers a different functionality than the other. The `BarcodeReader` class is used to decode static images (via one of the [decode\*](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/BarcodeReader.html#decode-barcodes) methods) and does not have the ability to open the camera stream and decode barcodes directly from the video stream. The `BarcodeScanner` class on the other hand has the ability to decode barcodes directly from a video input, but it can also capture a still image using the camera when `singleFrameMode` is toggled. diff --git a/barcode-reader/web/camera/check-camera.md b/barcode-reader/web/camera/check-camera.md index 8885c0a..a128e9a 100644 --- a/barcode-reader/web/camera/check-camera.md +++ b/barcode-reader/web/camera/check-camera.md @@ -13,10 +13,10 @@ In version 10, use the `dynamsoft camera enhancer` to utilize the [testCameraAcc ## Version 9.6.10 till version 10 - you can utilize the [testCameraAccess](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/BarcodeScanner.html#testcameraaccess) method to check the camera status programmatically. +You can utilize the [testCameraAccess](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/BarcodeScanner.html#testcameraaccess) method to check the camera status programmatically. ## Version older than 9.6.10 - you can check the status using a try-catch block as shown below: +You can check the status using a try-catch block as shown below: ```javascript try { diff --git a/barcode-reader/web/camera/delay-when-open-camera.md b/barcode-reader/web/camera/delay-when-open-camera.md index 65073ee..d198c7a 100644 --- a/barcode-reader/web/camera/delay-when-open-camera.md +++ b/barcode-reader/web/camera/delay-when-open-camera.md @@ -15,8 +15,8 @@ Preload `BarcodeReader` or other specified module proactively to save time on th ```javascript await Dynamsoft.Core.CoreModule.loadWasm(["DBR"]); ``` -### 2. skip camera inspection -You can bypass the camera selection[ifSkipCameraInspection](https://www.dynamsoft.com/camera-enhancer/docs/web/programming/javascript/api-reference/camera-control.html#ifskipcamerainspection) +### 2. Skip camera inspection +You can bypass camera selection using [ifSkipCameraInspection](https://www.dynamsoft.com/camera-enhancer/docs/web/programming/javascript/api-reference/camera-control.html#ifskipcamerainspection). ```javascript cameraEnhancer.ifSkipCameraInspection ``` diff --git a/barcode-reader/web/camera/index.md b/barcode-reader/web/camera/index.md index 7054e4b..74d962e 100644 --- a/barcode-reader/web/camera/index.md +++ b/barcode-reader/web/camera/index.md @@ -10,7 +10,7 @@ noTitleIndex: true # Camera FAQ Index - [Camera cannot open in PWA](camera-cannot-open-in-pwa.html) -- [How to check camera availability](check-camera.html) +- [How to check camera permissions programmatically](check-camera.html) - [Delay when opening camera](delay-when-open-camera.html) - [How to stop the camera stream from opening right away after DBR-JS demo is loaded?](stop-camera-to-open-right-away.html) - [Why isn't my webcam reading the barcode on my driver's license or ID card?](webcam-support-dense.html) diff --git a/barcode-reader/web/camera/stop-camera-to-open-right-away.md b/barcode-reader/web/camera/stop-camera-to-open-right-away.md index e4a0966..bc22531 100644 --- a/barcode-reader/web/camera/stop-camera-to-open-right-away.md +++ b/barcode-reader/web/camera/stop-camera-to-open-right-away.md @@ -6,7 +6,7 @@ description: How to enable the camera on the click of a button? needAutoGenerateSidebar: false --- -# How to enable the camera on the click of a button? +# How to stop the camera stream from opening right away after DBR-JS demo is loaded? ## Version 10 and above ```javascript diff --git a/barcode-reader/web/camera/when-singleFrameMode-is-enabled.md b/barcode-reader/web/camera/when-singleFrameMode-is-enabled.md index b685692..d7065bb 100644 --- a/barcode-reader/web/camera/when-singleFrameMode-is-enabled.md +++ b/barcode-reader/web/camera/when-singleFrameMode-is-enabled.md @@ -9,11 +9,11 @@ needAutoGenerateSidebar: false # When is singleFrameMode enabled? ## Version 10 and above -SingleFrameMode can be enabled by calling the api from the camera enhancer module. check +SingleFrameMode can be enabled by calling the api from the camera enhancer module. Check [singleFrameMode](https://www.dynamsoft.com/camera-enhancer/docs/web/programming/javascript/api-reference/acquisition.html#singleframemode) for detailed information. ## Version 9 -`singleFrameMode` is enable in the below two scenarios - +`singleFrameMode` is enabled in the below two scenarios - 1. When using the library from a non-secure origin (no HTTPS). 2. When using a browser that doesn't support `getUserMedia/MediaDevices` API that is required for video streaming. To confirm whether or not your browser is supported, please refer to the [System Requirements](https://www.dynamsoft.com/barcode-reader/docs/v9/web/programming/javascript/user-guide/#system-requirements) section of the user guide. diff --git a/barcode-reader/web/capabilities/index.md b/barcode-reader/web/capabilities/index.md index 467f675..4bd72ee 100644 --- a/barcode-reader/web/capabilities/index.md +++ b/barcode-reader/web/capabilities/index.md @@ -14,5 +14,5 @@ noTitleIndex: true - [Is HTTPS Required?](is-https-required.html) - [Pros and Cons of CDN](pros-and-cons-of-cdn.html) - [System Requirement](system-requirement.html) -- [What's in the dist Folder of dynamsoft-barcode-reader-bundle?](what-is-in-the-dist-folder-of-dbrb.html) -- [About Adaptive WebAssembly (Wasm) Loading](about-adaptive-wasm-loading.html) \ No newline at end of file +- [What's in the dist Folder of dynamsoft-barcode-reader-bundle?](what-is-in-the-dist-folder-of-dbr.html) +- [About Adaptive WebAssembly (Wasm) Loading](adaptive-wasm-loading.html) \ No newline at end of file diff --git a/barcode-reader/web/capabilities/is-https-required.md b/barcode-reader/web/capabilities/is-https-required.md index e58ad46..6b591a5 100644 --- a/barcode-reader/web/capabilities/is-https-required.md +++ b/barcode-reader/web/capabilities/is-https-required.md @@ -1,8 +1,8 @@ --- layout: default-layout -title: Is HTTPs absolutely required? +title: Is HTTPS absolutely required? keywords: Dynamsoft Barcode Reader, FAQ, tech basic, HTTPS -description: Is HTTPs absolutely required? +description: Is HTTPS absolutely required? needAutoGenerateSidebar: false --- diff --git a/barcode-reader/web/capabilities/system-requirement.md b/barcode-reader/web/capabilities/system-requirement.md index b326b4f..8c3d55a 100644 --- a/barcode-reader/web/capabilities/system-requirement.md +++ b/barcode-reader/web/capabilities/system-requirement.md @@ -8,8 +8,6 @@ needAutoGenerateSidebar: false # What are the system requirements for running the latest version of Dynamsoft Barcode Reader? -## System Requirements - The latest version of DBR requires the following features to work: - Secure context (HTTPS deployment) diff --git a/barcode-reader/web/capabilities/what-is-in-the-dist-folder-of-dbr.md b/barcode-reader/web/capabilities/what-is-in-the-dist-folder-of-dbr.md index 352dcec..61de7e7 100644 --- a/barcode-reader/web/capabilities/what-is-in-the-dist-folder-of-dbr.md +++ b/barcode-reader/web/capabilities/what-is-in-the-dist-folder-of-dbr.md @@ -48,7 +48,7 @@ Below are the common files you'll find and their purposes. > [!IMPORTANT] > The dbr-bundle dynamically selects the most suitable WebAssembly variant based on the current browser environment, in order to maximize browser performance as much as possible. This means that in most cases, only one set of `*.wasm` + `*.wasm.js` files will actually be used at runtime. -> For details about the different WASM variants, please refer to [What Is Adaptive WebAssembly (Wasm) Loading and How Does It Work?](adaptive-wasm-loading.md). +> For details about the different WASM variants, please refer to [What Is Adaptive WebAssembly (Wasm) Loading and How Does It Work?](adaptive-wasm-loading.html). ## 6. Other Auxiliary Resources @@ -60,5 +60,4 @@ These folders collectively compose the runtime environment for a JavaScript-base | `models/` | Contains pre-trained machine learning models used for barcode detection and recognition. These models enable the scanner to identify and decode various barcode formats from images and video streams in real-time. | | `parser-resources/` | Stores resources required for data parsing and interpretation. | | `templates/` | Contains preset CaptureVisionTemplates used for different barcode scanning scenarios. | - | `ui/` | Preset UI in `.html` files. | diff --git a/barcode-reader/web/configuration/avoid-incorrect-barcode-results.md b/barcode-reader/web/configuration/avoid-incorrect-barcode-results.md index 7126ea9..6954fcf 100644 --- a/barcode-reader/web/configuration/avoid-incorrect-barcode-results.md +++ b/barcode-reader/web/configuration/avoid-incorrect-barcode-results.md @@ -11,7 +11,7 @@ needAutoGenerateSidebar: false ## Version 10 and above - One method is to raise the value of [minResultConfidence](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/interfaces/simplified-barcode-reader-settings.html#minresultconfidence) of the `SimplifiedBarcodeReaderSettings` interface of `SimplifiedCaptureVisionSettings`. It is set to `30` by default. -- If the issue has to do with the length of the text result, you can try setting a minimum length for the barcode text(s) that are returned by the SDK. By setting the [minBarcodeTextLength](../api-reference/interfaces/simplified-barcode-reader-settings.md) property of the `SimplifiedBarcodeReaderSettings` interface of `SimplifiedCaptureVisionSettings`, the SDK can ignore results that are consistently coming out shorter than expected. It is set to `0` by default. +- If the issue has to do with the length of the text result, you can try setting a minimum length for the barcode text(s) that are returned by the SDK. By setting the [minBarcodeTextLength](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/interfaces/simplified-barcode-reader-settings.html#minbarcodetextlength) property of the `SimplifiedBarcodeReaderSettings` interface of `SimplifiedCaptureVisionSettings`, the SDK can ignore results that are consistently coming out shorter than expected. It is set to `0` by default. ```javascript let settings = await router.getSimplifiedSettings('ReadSingleBarcode'); diff --git a/barcode-reader/web/configuration/change-domain-binding-of-product-key.md b/barcode-reader/web/configuration/change-domain-binding-of-product-key.md index ebd6fba..cf2c628 100644 --- a/barcode-reader/web/configuration/change-domain-binding-of-product-key.md +++ b/barcode-reader/web/configuration/change-domain-binding-of-product-key.md @@ -1,12 +1,12 @@ --- layout: default-layout -title: How to Secure Your License Key by Managing Domain Binding +title: How to change the domain binding of a product key? keywords: Dynamsoft Barcode Reader, FAQ, JavaScript, tech basic, domain binding, product key -description: How to change the domain binding of your product key? +description: How to change the domain binding of a product key? needAutoGenerateSidebar: false --- -# How to Secure Your License Key by Managing Domain Binding? +# How to change the domain binding of a product key? This guide explains how to protect your software product key by properly managing or changing its domain binding. Domain binding ties a product key to a specific domain, helping prevent unauthorized use or piracy. Please follow the below steps - 1. You will first need to log into the [customer portal](https://www.dynamsoft.com/customer/index). diff --git a/barcode-reader/web/configuration/index.md b/barcode-reader/web/configuration/index.md index d5eccbc..866d158 100644 --- a/barcode-reader/web/configuration/index.md +++ b/barcode-reader/web/configuration/index.md @@ -11,7 +11,7 @@ noTitleIndex: true - [How to avoid incorrect barcode results?](avoid-incorrect-barcode-results.html) - [Do we have to call loadWasm proactively?](call-loadWasm-proactively.html) -- [How to change domain binding of product key?](change-domain-binding-of-product-key.html) +- [How to change the domain binding of a product key?](change-domain-binding-of-product-key.html) - [Formats supported for existing files](formats-supported-for-existing-files.html) - [How to get intermediate result images?](get-intermediate-result-images.html) - [How do I create a NodeJS application using the SDK?](nodejs-implementation.html) @@ -21,5 +21,4 @@ noTitleIndex: true - [Read from existing files](read-from-existing-files.html) - [Scan US driver's license](scan-US-drivers-license.html) - [Upgrade old to new version](upgrade-old-to-new.html) -- [Use of onFrameRead and onUnduplicateRead](use-of-onFrameRead-and-onUnduplicateRead.html) - [Ways to copy DBR-JS deployable files](ways-to-copy-dbr-js-deployable-files.html) diff --git a/barcode-reader/web/configuration/nodejs-implementation.md b/barcode-reader/web/configuration/nodejs-implementation.md index 0c5ead2..695d449 100644 --- a/barcode-reader/web/configuration/nodejs-implementation.md +++ b/barcode-reader/web/configuration/nodejs-implementation.md @@ -8,8 +8,6 @@ needAutoGenerateSidebar: false # How do I create a NodeJS application using the SDK? -[<< Back to FAQ index](index.md) - In order to create a backend or server-side NodeJS application, it is best to use the NodeJS extension that utilizes the C/C++ edition of the Dynamsoft Barcode Reader. You can find the npm package here. Instructions on how to use the package are available on the npm page. If you attempt to use DBR-JS or its associated npm package in a NodeJS server application, you will most likely be met with errors at runtime. The JavaScript edition is meant only for client-side solutions. diff --git a/barcode-reader/web/configuration/pop-up-window-during-trail-process.md b/barcode-reader/web/configuration/pop-up-window-during-trail-process.md index 39abb46..d4063f5 100644 --- a/barcode-reader/web/configuration/pop-up-window-during-trail-process.md +++ b/barcode-reader/web/configuration/pop-up-window-during-trail-process.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: false # How to remove the expired warning message pop-up window in Dynamsoft Barcode Reader online demo scanning process? -Users may meet pop-up window when using our online demo, don't worry about how to remove them, after purchasing the official license it will not pop up during the usage. +Users may encounter this pop-up window while using our online demo. There is no need to worry about removing it — after purchasing an official license, it will no longer appear during usage. The pop up window in our online demo: diff --git a/barcode-reader/web/debug/check-current-version.md b/barcode-reader/web/debug/check-current-version.md index 311315a..3ccdf31 100644 --- a/barcode-reader/web/debug/check-current-version.md +++ b/barcode-reader/web/debug/check-current-version.md @@ -2,20 +2,32 @@ layout: default-layout title: How to Verify the Dynamsoft Barcode Reader Web SDK Version keywords: Dynamsoft Barcode Reader, FAQ, tech basic, check version, current version -description: Guide to identifying the installed version of Dynamsoft Barcode Reader Web SDK using module APIs, npm show commands, or CDN configuration. +description: Guide to identifying the installed version of Dynamsoft Barcode Reader Web SDK using module APIs, npm list commands, or CDN configuration. needAutoGenerateSidebar: false --- # How to check the version of the JS SDK I am currently using? -## For version 10 and above +## For version 11 and above +- Check the version of Barcode Reader module using the [`getVersion`](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/barcode-reader-module-class.html#getversion) API +```javascript +Dynamsoft.DBR.BarcodeReaderModule.getVersion() +``` +- If you are using the library via npm or yarn, then you can check the installed version of the package via +```bash +npm list dynamsoft-barcode-reader-bundle +``` +- If you are including the library via the CDN link, then the version number should be mentioned in that reference link. + + +## For version 10 - Check the version of Barcode Reader module ```javascript Dynamsoft.DBR.BarcodeReaderModule.getVersion() ``` -- If you are using the library via npm or yarn, then you can check the version of the package via +- If you are using the library via npm or yarn, then you can check the installed version of the package via ```bash -npm show dynamsoft-barcode-reader version +npm list dynamsoft-barcode-reader ``` - If you are including the library via the CDN link, then the version number should be mentioned in that reference link. @@ -24,10 +36,10 @@ npm show dynamsoft-barcode-reader version There are multiple ways to check the version currently being used - - The first way is to use the [version API](https://www.dynamsoft.com/barcode-reader/docs/v9/web/programming/javascript/api-reference/InitializationControl.html#version). Using this API in the browser console should print out the version of the library being used by the web app. -- If you are using the library via npm or yarn, then you can check the version of the package via +- If you are using the library via npm or yarn, then you can check the installed version of the package via ```bash - npm –v dynamsoft-javascript-barcode + npm list dynamsoft-javascript-barcode ``` - If you are including the library via the CDN link, then the version number should be mentioned in that reference link. diff --git a/barcode-reader/web/index.md b/barcode-reader/web/index.md index 413bfb5..8047c31 100644 --- a/barcode-reader/web/index.md +++ b/barcode-reader/web/index.md @@ -16,7 +16,7 @@ Welcome! Browse the sections below for answers to common questions, configuratio ## Camera - [Camera cannot open in PWA](camera/camera-cannot-open-in-pwa.html) -- [How to check camera availability](camera/check-camera.html) +- [How to check camera permissions programmatically](camera/check-camera.html) - [Delay when opening camera](camera/delay-when-open-camera.html) - [How to stop the camera stream from opening right away after DBR-JS demo is loaded?](camera/stop-camera-to-open-right-away.html) - [Why isn't my webcam reading the barcode on my driver's license or ID card?](camera/webcam-support-dense.html) @@ -35,7 +35,7 @@ Welcome! Browse the sections below for answers to common questions, configuratio - [How to avoid incorrect barcode results?](configuration/avoid-incorrect-barcode-results.html) - [Do we have to call loadWasm proactively?](configuration/call-loadWasm-proactively.html) -- [How to change domain binding of product key?](configuration/change-domain-binding-of-product-key.html) +- [How to change the domain binding of a product key?](configuration/change-domain-binding-of-product-key.html) - [Formats supported for existing files](configuration/formats-supported-for-existing-files.html) - [How to get intermediate result images?](configuration/get-intermediate-result-images.html) - [How do I create a NodeJS application using the SDK?](configuration/nodejs-implementation.html) diff --git a/barcode-reader/web/scan-setting/difference-between-barcodeReader-and-barcodeScanner.md b/barcode-reader/web/scan-setting/difference-between-barcodeReader-and-barcodeScanner.md index 715aaa0..b1cc219 100644 --- a/barcode-reader/web/scan-setting/difference-between-barcodeReader-and-barcodeScanner.md +++ b/barcode-reader/web/scan-setting/difference-between-barcodeReader-and-barcodeScanner.md @@ -8,10 +8,8 @@ needAutoGenerateSidebar: false # What is the difference between the BarcodeReader class and the BarcodeScanner class? Can they be used interchangeably? -[<< Back to FAQ index](index.md) - ### **_NOTE:_** - This FAQ applies to Barcode Reader SDK version 9 or earlier. For the current version, please refer to our latest version introduction [here](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/). -No, as each offers a different functionality than the other. The `BarcodeReader` class is used to decode static images (via one of the [decode\*](https://www.dynamsoft.com/barcode-reader/docs/v9/web/programming/javascript/api-reference/BarcodeReader.html#decode) methods) and does not have the ability to open the camera stream and decode barcodes directly from the video stream. +The two classes are not interchangeable, as each offers a different functionality than the other. The `BarcodeReader` class is used to decode static images (via one of the [decode\*](https://www.dynamsoft.com/barcode-reader/docs/v9/web/programming/javascript/api-reference/BarcodeReader.html#decode) methods) and does not have the ability to open the camera stream and decode barcodes directly from the video stream. The `BarcodeScanner` class on the other hand has the ability to decode barcodes directly from a video input, but it can also capture a still image using the camera when `singleFrameMode` is toggled. diff --git a/barcode-reader/web/scan-setting/difference-between-bestspeed-and-bestcoverage.md b/barcode-reader/web/scan-setting/difference-between-bestspeed-and-bestcoverage.md index 012aadb..2b0e938 100644 --- a/barcode-reader/web/scan-setting/difference-between-bestspeed-and-bestcoverage.md +++ b/barcode-reader/web/scan-setting/difference-between-bestspeed-and-bestcoverage.md @@ -1,12 +1,12 @@ --- layout: default-layout -title: What are the differences between the 'speed', 'coverage', 'balance, and 'single' runtime templates? +title: What are the differences between the 'speed', 'coverage', 'balance', and 'single' runtime templates? keywords: Dynamsoft Barcode Reader, FAQ, Troubleshooting / User Cases, speed, coverage -description: What are the differences between the 'speed', 'coverage', 'balance, and 'single' runtime templates? +description: What are the differences between the 'speed', 'coverage', 'balance', and 'single' runtime templates? needAutoGenerateSidebar: false --- -# What are the differences between the 'speed', 'coverage', 'balance, and 'single' runtime templates? +# What are the differences between the 'speed', 'coverage', 'balance', and 'single' runtime templates? `SpeedFirst`, as the name suggests, prioritizes time cost over the accuracy of the results, and `ReadRateFirst` is vice versa. diff --git a/barcode-reader/web/scan-setting/read-inverted-image.md b/barcode-reader/web/scan-setting/read-inverted-image.md index a3ec8a4..f5d5236 100644 --- a/barcode-reader/web/scan-setting/read-inverted-image.md +++ b/barcode-reader/web/scan-setting/read-inverted-image.md @@ -9,7 +9,7 @@ needAutoGenerateSidebar: false # How to read an inverted barcode? ## Version 10 and above -this can be achieved by setting the value of the `grayscaleTransformationModes` array of `furtherModes` to use `GTM_INVERTED` +This can be achieved by setting the value of the `grayscaleTransformationModes` array of `furtherModes` to use `GTM_INVERTED`. ```javascript let settings = await router.getSimplifiedSettings("ReadSingleBarcode"); diff --git a/barcode-reader/web/scan-setting/remove-duplicates.md b/barcode-reader/web/scan-setting/remove-duplicates.md index f36eabe..622676b 100644 --- a/barcode-reader/web/scan-setting/remove-duplicates.md +++ b/barcode-reader/web/scan-setting/remove-duplicates.md @@ -11,7 +11,7 @@ needAutoGenerateSidebar: false ## Version 10 and above If you're experiencing more scans usage than expected with the barcode reading SDK, use the below strategies to address this issue effectively: -### 1. Donot count identical Result +### 1. Do Not Count Identical Results With version 10 and above of the DBR SDK, the `enableResultDeduplication` is set to forget a result 3 seconds after it is first received. During this time frame, if an identical result appears, it is ignored. If you want to forget the identical result for more duration you can use the setDuplicateForgetTime function as well with `enableResultDeduplication`. ```javascript @@ -39,7 +39,7 @@ await router.addResultFilter(filter); ### 2. Limit Barcode Formats: If you're specifically scanning a particular barcode format, consider limiting the barcode format options to prevent other formats from being decoded and counted unnecessarily. -you can limit the barcode formats in two ways: +You can limit the barcode formats in two ways: - set the barcode format using the `getSimplifiedSettings` ```javascript diff --git a/barcode-reader/web/ui-customization/index.md b/barcode-reader/web/ui-customization/index.md index 847a25a..f705f1c 100644 --- a/barcode-reader/web/ui-customization/index.md +++ b/barcode-reader/web/ui-customization/index.md @@ -9,6 +9,6 @@ noTitleIndex: true # UI Customization Index -- [Add or Remove Beep Sound](ui-customization/add-remove-beep-sound.html) -- [Different Ways to Customize UI](ui-customization/different-ways-to-customize-ui.html) -- [Hide Laser Bar and Message in Default UI](ui-customization/hide-laser-message-ui.html) +- [Add or Remove Beep Sound](add-remove-beep-sound.html) +- [Different Ways to Customize UI](different-ways-to-customize-ui.html) +- [Hide Laser Bar and Message in Default UI](hide-laser-message-ui.html) diff --git a/license/dbr-free-trial.md b/license/dbr-free-trial.md index 50339e1..841f8f0 100644 --- a/license/dbr-free-trial.md +++ b/license/dbr-free-trial.md @@ -6,7 +6,7 @@ description: What I need to know about trial licenses? needAutoGenerateSidebar: false --- -# What I need to know about trial licenses? +# How to get a free trial? To get a free trial of the SDK, please download it from [our website](https://www.dynamsoft.com/barcode-reader/downloads/). diff --git a/license/enable-supported-barcode-format.md b/license/enable-supported-barcode-format.md index 772794d..2dd273d 100644 --- a/license/enable-supported-barcode-format.md +++ b/license/enable-supported-barcode-format.md @@ -80,7 +80,7 @@ cvr_instance = CaptureVisionRouter() err_code, err_str, settings = cvr_instance.get_simplified_settings(EnumPresetTemplate.PT_READ_BARCODES.value) # Specify the barcode formats by enumeration values. # Use "|" to enable multiple barcode formats at one time. -settings.barcode_settings.barcode_format_ids = EnumBarcodeFormat.BF_QR_CODE.value | EnumBarcodeFormat.BF_ONED. value +settings.barcode_settings.barcode_format_ids = EnumBarcodeFormat.BF_QR_CODE.value | EnumBarcodeFormat.BF_ONED.value # Update the settings. err_code, err_str = cvr_instance.update_settings(EnumPresetTemplate.PT_READ_BARCODES.value, settings) # View the complete list of supported barcode formats and their corresponding IDs here diff --git a/license/expand-quota-for-runtime-license.md b/license/expand-quota-for-runtime-license.md index b640aac..47e64d1 100644 --- a/license/expand-quota-for-runtime-license.md +++ b/license/expand-quota-for-runtime-license.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: false # How to expand the quota of a runtime license? -The quota of a runtime license can indeed be expanded before the expiration of the license. This can be done in a couple of ways. +The quota of a runtime license can be expanded before the license expires. This can be done in a couple of ways. - By accessing the license page in the [customer portal](https://www.dynamsoft.com/customer/license/fullLicense), under the `Manage License` operation, one of the options include `Add Quota`. This leads the user to a checkout page confirming the extra quantity that they want to add (by default they will be adding the same quantity that they originally bought, which can be multiplied by the `Quantity` number. After confirming the customer details and payment info, the order will be processed for the quota expansion. diff --git a/license/how-hardware-is-bind-to-license.md b/license/how-hardware-is-bind-to-license.md index 5905984..74f2f49 100644 --- a/license/how-hardware-is-bind-to-license.md +++ b/license/how-hardware-is-bind-to-license.md @@ -6,7 +6,7 @@ description: What I need to know about licensing process? needAutoGenerateSidebar: false --- -# What I need to know about licensing process? +# How is hardware bound to a license? - When devices are registered, they get a UUID that is generated based on some hardware and OS info. The exact breakdown of what is collected when using the mobile edition or server/desktop edition is mentioned [here](https://www.dynamsoft.com/license-server/docs/about/terms.html#generate-a-uuid). - Should the user change the OS (upgrade/downgrade), then the same device will take up a new license since the UUID that is generated for the device after the change will be different. diff --git a/license/index.md b/license/index.md index dd7f53d..4eafb12 100644 --- a/license/index.md +++ b/license/index.md @@ -2,7 +2,7 @@ layout: default-layout title: "Dynamsoft Barcode Reader License FAQ \u2013 Key Questions" keywords: faq, license, dbr, dynamsoft, barcode reader, configuration -description: "Find answers about MRZ Scanner licensing, activation, usage limits, and plans so teams can deploy Dynamsoft capture workflows confidently for modern web." +description: "Find answers about Dynamsoft Barcode Reader licensing, activation, usage limits, and plans so teams can deploy Dynamsoft capture workflows confidently for modern web." needAutoGenerateSidebar: false noTitleIndex: true --- diff --git a/license/offline-registration-license.md b/license/offline-registration-license.md index ae23c54..35f4c37 100644 --- a/license/offline-registration-license.md +++ b/license/offline-registration-license.md @@ -57,7 +57,7 @@ SoftbindUUID:230e089a-7dc3-4caa-9c77-f7cc6d567f9b
![submit-uuid]({{site.dbr_server_assets}}submit-uuid.jpg) 6. Then an authorization string will be generated. This string is the license for this device. Copy the license and set it in the code - ![cp-license]({{site.dbr_server_assets}}/cp-license.jpg) + ![cp-license]({{site.dbr_server_assets}}cp-license.jpg) Code snippet in JavaScript: diff --git a/mrz-scanner/general/performance-optimization.md b/mrz-scanner/general/performance-optimization.md index edff524..38b6f27 100644 --- a/mrz-scanner/general/performance-optimization.md +++ b/mrz-scanner/general/performance-optimization.md @@ -8,7 +8,7 @@ needAutoGenerateSidebar: true # Are there any performance options to improve accuracy or speed? -Yes. The scanner uses a multi-frame result cross filter to enhance accuracy. This filter is enabled by default, which helps reduce recognition errors by cross-verifying results across multiple frames. In [`MRZScannerViewConfig`](https://www.dynamsoft.com/mrz-scanner/docs/web/api/mrz-scanner.html#mrzscannerviewconfig), you can disable it to increase scanning speed, though this may slightly reduce accuracy. +Yes. The scanner uses a multi-frame result cross filter to enhance accuracy. Starting from v4.0.0, this filter is enabled by default, which helps reduce recognition errors by cross-verifying results across multiple frames. In [`MRZScannerViewConfig`](https://www.dynamsoft.com/mrz-scanner/docs/web/api/mrz-scanner.html#mrzscannerviewconfig), you can disable it to increase scanning speed, though this may slightly reduce accuracy. To disable the cross filter: @@ -16,16 +16,16 @@ To disable the cross filter: const mrzScanner = new Dynamsoft.MRZScanner({ license: "YOUR_LICENSE_KEY", scannerViewConfig: { - enableMultiFrameCrossFilter: false // default: false + enableMultiFrameCrossFilter: false // default: true (as of v4.0.0) } }); -```` +``` --- | **Option** | **Property** | **Default** | **Effect** | | --------------------------- | ----------------------------- | ----------- | ----------------------------------------------- | -| Multi-frame cross filtering | `enableMultiFrameCrossFilter` | `false` | Improves accuracy; disabling may increase speed | +| Multi-frame cross filtering | `enableMultiFrameCrossFilter` | `true` | Improves accuracy; disabling may increase speed | --- diff --git a/mrz-scanner/general/ui-customization.md b/mrz-scanner/general/ui-customization.md index 9ee65b6..134cb40 100644 --- a/mrz-scanner/general/ui-customization.md +++ b/mrz-scanner/general/ui-customization.md @@ -10,7 +10,7 @@ needAutoGenerateSidebar: true The [`MRZScannerViewConfig`](https://www.dynamsoft.com/mrz-scanner/docs/web/api/mrz-scanner.html#mrzscannerviewconfig) interface allows you to control many UI elements of the Dynamsoft MRZ Scanner. You can show or hide features such as the scan guide, file upload button, format selector, sound toggle, and the “Powered By Dynamsoft” footer. Additional options include enabling or disabling multi-frame cross filtering, specifying accepted file types, and providing a custom `uploadFileConverter`. -For example, to hide the scan guide and disable multi-frame cross filtering: +For example, to control the visibility of the scan guide, format selector, and upload button: ```js const mrzScanner = new Dynamsoft.MRZScanner({