From 36dfbc9df9525bc1c310c7ca1e5dfa270f46401d Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 3 Dec 2025 14:05:21 +0800 Subject: [PATCH 1/6] add BarcodeFormatIds under BarcodeFormatSpecification --- .../sidelist-parameters-organization.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_includes/sidelist-programming/sidelist-parameters-organization.html b/_includes/sidelist-programming/sidelist-parameters-organization.html index 50dfde6..ba4bbd6 100644 --- a/_includes/sidelist-programming/sidelist-parameters-organization.html +++ b/_includes/sidelist-programming/sidelist-parameters-organization.html @@ -427,6 +427,7 @@
  • AustralianPostEncodingTable
  • BarcodeAngleRangeArray
  • BarcodeBytesLengthRangeArray
  • +
  • BarcodeFormatIds
  • BarcodeHeightRangeArray
  • BarcodeTextLengthRangeArray
  • BarcodeTextRegExPattern
  • @@ -491,10 +492,11 @@ From 28324554a2d70be072360c37247e101e8ad6f175 Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 3 Dec 2025 14:08:07 +0800 Subject: [PATCH 2/6] update ddn guide --- .../dotnet/user-guide/document-scanner.md | 59 +++++++++++-------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/programming/dotnet/user-guide/document-scanner.md b/programming/dotnet/user-guide/document-scanner.md index fb14ec1..53f2d87 100644 --- a/programming/dotnet/user-guide/document-scanner.md +++ b/programming/dotnet/user-guide/document-scanner.md @@ -47,10 +47,11 @@ Search for and install the `Dynamsoft.DotNet.CaptureVision.Bundle` nuget package Open the `Program.cs` file and add the following namespaces. ```csharp -using Dynamsoft.Core; using Dynamsoft.CVR; using Dynamsoft.License; -using Dynamsoft.DCP; +using Dynamsoft.Core; +using Dynamsoft.Utility; +using Dynamsoft.DDN; ``` ### Initialize the License Key @@ -84,10 +85,8 @@ using (CaptureVisionRouter cvRouter = new CaptureVisionRouter()) using (CaptureVisionRouter cvRouter = new CaptureVisionRouter()) { string imageFile = "[PATH-TO-THE-IMAGE-FILE]"; - using (CapturedResult? result = cvRouter.Capture(imageFile, PresetTemplate.PT_DETECT_AND_NORMALIZE_DOCUMENT)) - { - //code for saving the normalized result as an image file - } + CapturedResult[] results = cvRouter.CaptureMultiPages(imageFile, PresetTemplate.PT_DETECT_AND_NORMALIZE_DOCUMENT) + //code for saving the normalized result as an image file } ``` @@ -96,32 +95,46 @@ using (CaptureVisionRouter cvRouter = new CaptureVisionRouter()) 2. Save the normalized result as an image file ```csharp -if (result == null) +if (results == null || results.Length == 0) { Console.WriteLine("No document detected."); } else { - if (result.GetErrorCode() != 0) - { - Console.WriteLine("Error: " + result.GetErrorCode() + ", " + result.GetErrorString()); - } - NormalizedImagesResult? normalizedImagesResult = result.GetNormalizedImagesResult(); - if (normalizedImagesResult != null) + for (int index = 0; index < results.Length; index++) { - NormalizedImageResultItem[] items = normalizedImagesResult.GetItems(); - Console.WriteLine("Normalized " + items.Length + " documents"); - foreach (NormalizedImageResultItem normalizedItem in items) + CapturedResult result = results[index]; + if (result.GetErrorCode() == (int)EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING) + { + Console.WriteLine("Warning: " + result.GetErrorCode() + ", " + result.GetErrorString()); + } + else if (result.GetErrorCode() != (int)EnumErrorCode.EC_OK) + { + Console.WriteLine("Error: " + result.GetErrorCode() + ", " + result.GetErrorString()); + } + FileImageTag tag = result.GetOriginalImageTag() as FileImageTag; + int pageNumber = tag != null ? tag.GetPageNumber() : index; + ProcessedDocumentResult processedDocumentResult = result.GetProcessedDocumentResult(); + if (processedDocumentResult == null || processedDocumentResult.GetEnhancedImageResultItems().Length == 0) + { + Console.WriteLine("Page-" + (pageNumber + 1) + " No document found."); + } + else { - string outPath = "normalizedResult_" + Array.IndexOf(items, normalizedItem) + ".png"; - ImageManager imageManager = new ImageManager(); - var image = normalizedItem.GetImageData(); - if (image != null) + EnhancedImageResultItem[] items = processedDocumentResult.GetEnhancedImageResultItems(); + for (int i = 0; i < items.Length; i++) { - errorCode = imageManager.SaveToFile(image, outPath); - if (errorCode == 0) + EnhancedImageResultItem enhancedResult = items[i]; + string outPath = "Page_" + (pageNumber + 1) + "enhancedResult_" + i + ".png"; + ImageIO imageIo = new ImageIO(); + var image = enhancedResult.GetImageData(); + if (image != null) { - Console.WriteLine("Document " + Array.IndexOf(items, normalizedItem) + " file: " + outPath); + errorCode = imageIo.SaveToFile(image, outPath); + if (errorCode == 0) + { + Console.WriteLine("Document " + i + " file: " + outPath); + } } } } From caf9f2344a55b44d179db4914fb659a6e4a07a98 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 15 Dec 2025 15:07:55 +0800 Subject: [PATCH 3/6] move SwitchCapturingTemplate to Multiple-File Processing --- .../capture-vision-router.md | 2 +- .../multiple-file-processing.md | 25 ++++++++++++++++++ .../capture-vision-router/settings.md | 24 ----------------- programming/cplusplus/index.md | 4 +-- .../capture-vision-router.md | 2 +- .../multiple-file-processing.md | 20 ++++++++++++++ .../capture-vision-router/settings.md | 20 -------------- .../capture-vision-router.md | 2 +- .../multiple-file-processing.md | 20 ++++++++++++++ .../capture-vision-router/settings.md | 20 -------------- programming/java/index.md | 2 +- .../capture-vision-router.md | 2 +- .../multiple-file-processing.md | 26 +++++++++++++++++++ .../capture-vision-router/settings.md | 26 ------------------- programming/python/index.md | 2 +- 15 files changed, 99 insertions(+), 98 deletions(-) diff --git a/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md b/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md index 0d83a13..d259bde 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md @@ -54,6 +54,7 @@ class CCaptureVisionRouter | [`StopCapturing`](multiple-file-processing.md#stopcapturing) | Stops the consecutive process. | | [`PauseCapturing`](multiple-file-processing.md#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`ResumeCapturing`](multiple-file-processing.md#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`SwitchCapturingTemplate`](multiple-file-processing.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Settings @@ -68,7 +69,6 @@ class CCaptureVisionRouter | [`ResetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | -| [`SwitchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Intermediate Result diff --git a/programming/cplusplus/api-reference/capture-vision-router/multiple-file-processing.md b/programming/cplusplus/api-reference/capture-vision-router/multiple-file-processing.md index 564ee36..1181805 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/multiple-file-processing.md +++ b/programming/cplusplus/api-reference/capture-vision-router/multiple-file-processing.md @@ -26,6 +26,7 @@ breadcrumbText: CVR C++ Multiple-File Processing | [`StopCapturing`](#stopcapturing) | Stops the consecutive processing. | | [`PauseCapturing`](#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`ResumeCapturing`](#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## SetInput @@ -363,3 +364,27 @@ else delete filter, filter = NULL;; } ``` + +## SwitchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```cpp +int SwitchCapturingTemplate(const char* templateName, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); +``` + +**Parameters** + +`[in] templateName` The name of the new capturing template to apply. + +`[in] errorMsgBuffer` A buffer for error messages. + +`[in] errorMsgBufferLen` The length of the error message buffer. + +**Return value** + +Returns an error code. Zero indicates success. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/cplusplus/api-reference/capture-vision-router/settings.md b/programming/cplusplus/api-reference/capture-vision-router/settings.md index b76f86e..08e34a8 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/settings.md +++ b/programming/cplusplus/api-reference/capture-vision-router/settings.md @@ -20,7 +20,6 @@ needGenerateH3Content: false | [`ResetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | -| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## InitSettings @@ -269,26 +268,3 @@ int GetParameterTemplateName(const int index, char nameBuffer[], int nameBufferL Returns an error code. Zero indicates success. -## SwitchCapturingTemplate - -Switches the capturing template during the image processing workflow. - -```cpp -int SwitchCapturingTemplate(const char* templateName, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); -``` - -**Parameters** - -`[in] templateName` The name of the new capturing template to apply. - -`[in] errorMsgBuffer` A buffer for error messages. - -`[in] errorMsgBufferLen` The length of the error message buffer. - -**Return value** - -Returns an error code. Zero indicates success. - -**Remarks** - -- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/cplusplus/index.md b/programming/cplusplus/index.md index 5acd6fa..5fcbfe8 100644 --- a/programming/cplusplus/index.md +++ b/programming/cplusplus/index.md @@ -64,12 +64,12 @@ For an overview of the APIs, see the [API Reference]({{ site.dcvb_cpp_api }}). For a peek of DCV C++ Edition history, check the [Release Notes]({{ site.dcvb_cpp }}release-notes/index.html). -### License Subscription +## License Subscription To develop and run your application with Dynamsoft Capture Vision SDK, you need an active license key: * Request a 30-day free trial license -### Contact Us +## Contact Us Feel free to contact us if you have any questions. diff --git a/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md b/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md index cf01349..95d8962 100644 --- a/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md @@ -53,6 +53,7 @@ public class CaptureVisionRouter : IDisposable | [`StopCapturing`](multiple-file-processing.md#stopcapturing) | Stops the consecutive process. | | [`PauseCapturing`](multiple-file-processing.md#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`ResumeCapturing`](multiple-file-processing.md#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`SwitchCapturingTemplate`](multiple-file-processing.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Setting Methods @@ -67,7 +68,6 @@ public class CaptureVisionRouter : IDisposable | [`ResetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | -| [`SwitchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Auxiliary Methods diff --git a/programming/dotnet/api-reference/capture-vision-router/multiple-file-processing.md b/programming/dotnet/api-reference/capture-vision-router/multiple-file-processing.md index 2bc0cab..781321b 100644 --- a/programming/dotnet/api-reference/capture-vision-router/multiple-file-processing.md +++ b/programming/dotnet/api-reference/capture-vision-router/multiple-file-processing.md @@ -25,6 +25,7 @@ needGenerateH3Content: false | [`StopCapturing`](#stopcapturing) | Stops the consecutive processing. | | [`PauseCapturing`](#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`ResumeCapturing`](#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## SetInput @@ -297,3 +298,22 @@ Resumes the capture process. The current thread will be unblocked after the capt void ResumeCapturing() ``` +## SwitchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```csharp +public int SwitchCapturingTemplate(string templateName) +``` + +**Parameters** + +`[in] templateName` The name of the new capturing template to apply. + +**Return value** + +Returns an error code. Zero indicates success. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/dotnet/api-reference/capture-vision-router/settings.md b/programming/dotnet/api-reference/capture-vision-router/settings.md index 372c545..710c0aa 100644 --- a/programming/dotnet/api-reference/capture-vision-router/settings.md +++ b/programming/dotnet/api-reference/capture-vision-router/settings.md @@ -20,7 +20,6 @@ needGenerateH3Content: false | [`ResetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | -| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## InitSettings @@ -259,22 +258,3 @@ public int GetParameterTemplateName(int index, out string nameBuffer) Returns an error code. Zero indicates success. -## SwitchCapturingTemplate - -Switches the capturing template during the image processing workflow. - -```csharp -public int SwitchCapturingTemplate(string templateName) -``` - -**Parameters** - -`[in] templateName` The name of the new capturing template to apply. - -**Return value** - -Returns an error code. Zero indicates success. - -**Remarks** - -- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/java/api-reference/capture-vision-router/capture-vision-router.md b/programming/java/api-reference/capture-vision-router/capture-vision-router.md index 4f71e4c..426fce1 100644 --- a/programming/java/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/java/api-reference/capture-vision-router/capture-vision-router.md @@ -48,6 +48,7 @@ class CaptureVisionRouter | [`stopCapturing`](multiple-file-processing.md#stopcapturing) | Stops the consecutive process. | | [`pauseCapturing`](multiple-file-processing.md#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`resumeCapturing`](multiple-file-processing.md#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`switchCapturingTemplate`](multiple-file-processing.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Setting Methods @@ -62,7 +63,6 @@ class CaptureVisionRouter | [`resetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | | [`getParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`getParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | -| [`switchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Buffered Items Methods diff --git a/programming/java/api-reference/capture-vision-router/multiple-file-processing.md b/programming/java/api-reference/capture-vision-router/multiple-file-processing.md index 7d1c7db..df3a614 100644 --- a/programming/java/api-reference/capture-vision-router/multiple-file-processing.md +++ b/programming/java/api-reference/capture-vision-router/multiple-file-processing.md @@ -25,6 +25,7 @@ needGenerateH3Content: false | [`stopCapturing`](#stopcapturing) | Stops the consecutive processing. | | [`pauseCapturing`](#pausecapturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`resumeCapturing`](#resumecapturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`switchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## setInput @@ -290,3 +291,22 @@ Resumes the capture process. The current thread will be unblocked after the capt public void resumeCapturing() ``` +## switchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```java +public void switchCapturingTemplate(String templateName) throws CaptureVisionException +``` + +**Parameters** + +`templateName` The name of the new capturing template to apply. + +**Exceptions** + +[`CaptureVisionException`]({{ site.dcvb_java_api }}capture-vision-router/capture-vision-exception.html) + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/java/api-reference/capture-vision-router/settings.md b/programming/java/api-reference/capture-vision-router/settings.md index 6b8400f..4176029 100644 --- a/programming/java/api-reference/capture-vision-router/settings.md +++ b/programming/java/api-reference/capture-vision-router/settings.md @@ -20,7 +20,6 @@ needGenerateH3Content: false | [`resetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`getParameterTemplateCount`](#getparametertemplatecount) | Gets the total number of available parameter templates. | | [`getParameterTemplateName`](#getparametertemplatename) | Gets the name of a specific parameter template by its index. | -| [`switchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## initSettings @@ -230,22 +229,3 @@ public String getParameterTemplateName(int index) Returns a string containing the name of the parameter template. -## switchCapturingTemplate - -Switches the capturing template during the image processing workflow. - -```java -public void switchCapturingTemplate(String templateName) throws CaptureVisionException -``` - -**Parameters** - -`templateName` The name of the new capturing template to apply. - -**Exceptions** - -[`CaptureVisionException`]({{ site.dcvb_java_api }}capture-vision-router/capture-vision-exception.html) - -**Remarks** - -- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/java/index.md b/programming/java/index.md index 203578b..c439639 100644 --- a/programming/java/index.md +++ b/programming/java/index.md @@ -20,7 +20,7 @@ Dynamsoft Capture Vision Bundle is an aggregating SDK of a series of specific fu - Dynamsoft Code Parser (DCP): extracts meaningful fields from text/bytes into human-readable information, typically used for post-processing results generated by DBR/DLR. -### System Requirements +## System Requirements - Operating systems: - Windows Windows: Windows 8 and higher, or Windows Server 2012 and higher diff --git a/programming/python/api-reference/capture-vision-router/capture-vision-router.md b/programming/python/api-reference/capture-vision-router/capture-vision-router.md index e159420..968a31d 100644 --- a/programming/python/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/python/api-reference/capture-vision-router/capture-vision-router.md @@ -48,6 +48,7 @@ class CaptureVisionRouter | [`stop_capturing`](multiple-file-processing.md#stop_capturing) | Stops the consecutive process. | | [`pause_capturing`](multiple-file-processing.md#pause_capturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`resume_capturing`](multiple-file-processing.md#resume_capturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`switch_capturing_template`](multiple-file-processing.md#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## Setting Methods @@ -62,7 +63,6 @@ class CaptureVisionRouter | [`reset_settings`](settings.md#reset_settings) | Resets all templates to factory settings. | | [`get_parameter_template_count`](settings.md#get_parameter_template_count) | Retrieves the total number of available parameter templates. | | [`get_parameter_template_name`](settings.md#get_parameter_template_name) | Retrieves the name of a specific parameter template by its index. | -| [`switch_capturing_template`](settings.md#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## Buffered Items Methods diff --git a/programming/python/api-reference/capture-vision-router/multiple-file-processing.md b/programming/python/api-reference/capture-vision-router/multiple-file-processing.md index d08f895..15417bb 100644 --- a/programming/python/api-reference/capture-vision-router/multiple-file-processing.md +++ b/programming/python/api-reference/capture-vision-router/multiple-file-processing.md @@ -25,6 +25,7 @@ needGenerateH3Content: false | [`stop_capturing`](#stop_capturing) | Stops the consecutive processing. | | [`pause_capturing`](#pause_capturing) | Pauses the capture process. The current thread will be blocked until the capture process is resumed. | | [`resume_capturing`](#resume_capturing) | Resumes the capture process. The current thread will be unblocked after the capture process is resumed. | +| [`switch_capturing_template`](#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## set_input @@ -327,3 +328,28 @@ Resumes the capture process. The current thread will be unblocked after the capt def resume_capturing(self) -> None: ``` +## switch_capturing_template + +Switches the capturing template during the image processing workflow. + +```python +def switch_capturing_template(self, template_name: str) -> Tuple[int, str]: +``` + +**Parameters** + +`template_name` The name of the new capturing template to apply. + +**Return Value** + +Returns a tuple containing following elements: +- `error_code` <*int*>: The error code indicating the status of the operation. +- `error_message` <*str*>: A descriptive message explaining the error. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +**See Also** + +[EnumErrorCode]({{ site.dcvb_python_api }}core/enum-error-code.html) diff --git a/programming/python/api-reference/capture-vision-router/settings.md b/programming/python/api-reference/capture-vision-router/settings.md index a840530..e595a87 100644 --- a/programming/python/api-reference/capture-vision-router/settings.md +++ b/programming/python/api-reference/capture-vision-router/settings.md @@ -20,7 +20,6 @@ needGenerateH3Content: false | [`reset_settings`](#reset_settings) | Resets all templates to factory settings. | | [`get_parameter_template_count`](#get_parameter_template_count) | Gets the total number of available parameter templates. | | [`get_parameter_template_name`](#get_parameter_template_name) | Gets the name of a specific parameter template by its index. | -| [`switch_capturing_template`](#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## init_settings @@ -246,28 +245,3 @@ Returns a tuple containing following elements: - `error_code` <*int*>: The error code indicating the status of the operation. - `template_name` <*str*>: The name of the parameter template. -## switch_capturing_template - -Switches the capturing template during the image processing workflow. - -```python -def switch_capturing_template(self, template_name: str) -> Tuple[int, str]: -``` - -**Parameters** - -`template_name` The name of the new capturing template to apply. - -**Return Value** - -Returns a tuple containing following elements: -- `error_code` <*int*>: The error code indicating the status of the operation. -- `error_message` <*str*>: A descriptive message explaining the error. - -**Remarks** - -- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. - -**See Also** - -[EnumErrorCode]({{ site.dcvb_python_api }}core/enum-error-code.html) diff --git a/programming/python/index.md b/programming/python/index.md index 52ffd82..4eee935 100644 --- a/programming/python/index.md +++ b/programming/python/index.md @@ -20,7 +20,7 @@ Dynamsoft Capture Vision Bundle is an aggregating SDK of a series of specific fu - Dynamsoft Code Parser (DCP): extracts meaningful fields from text/bytes into human-readable information, typically used for post-processing results generated by DBR/DLR. -### System Requirements +## System Requirements - Operating Systems: - Windows x64 From f1d95e0856ac93ecfa4568fe6a2df97108bdf7cd Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 16 Dec 2025 10:38:09 +0800 Subject: [PATCH 4/6] v3.2.5000 release --- programming/cplusplus/release-notes/cpp-3.md | 13 +++++++++++++ programming/cplusplus/release-notes/index.md | 1 + programming/dotnet/release-notes/dotnet-3.md | 13 +++++++++++++ programming/dotnet/release-notes/index.md | 1 + programming/java/release-notes/index.md | 1 + programming/java/release-notes/java-3.md | 13 +++++++++++++ programming/python/release-notes/index.md | 1 + programming/python/release-notes/python-3.md | 13 +++++++++++++ 8 files changed, 56 insertions(+) diff --git a/programming/cplusplus/release-notes/cpp-3.md b/programming/cplusplus/release-notes/cpp-3.md index d91f405..d82c2d6 100644 --- a/programming/cplusplus/release-notes/cpp-3.md +++ b/programming/cplusplus/release-notes/cpp-3.md @@ -8,6 +8,19 @@ needGenerateH3Content: false # Release Notes for C++ Edition - 3.x +## 3.2.5000 (12/16/2025) + +This release includes security maintenance updates to ensure continued protection of the product. + +### Security Updates + +- Updated third-party libraries to incorporate the latest security fixes. + +### Bug Fixes + +- Fixed memory leak, crash, and hang issues in various scenarios. +- Improved stability in multi-threading operations. + ## 3.2.1000 (10/14/2025) ### 🎉Milestone Release diff --git a/programming/cplusplus/release-notes/index.md b/programming/cplusplus/release-notes/index.md index f71600d..1582aa3 100644 --- a/programming/cplusplus/release-notes/index.md +++ b/programming/cplusplus/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Release Notes - Dynamsoft Capture Vision CPP +- [3.2.5000 (12/16/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#325000-12162025) - [3.2.1000 (10/14/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#306000-08062025) - [3.0.4000 (07/15/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#304000-07152025) diff --git a/programming/dotnet/release-notes/dotnet-3.md b/programming/dotnet/release-notes/dotnet-3.md index 0146862..fd238cd 100644 --- a/programming/dotnet/release-notes/dotnet-3.md +++ b/programming/dotnet/release-notes/dotnet-3.md @@ -8,6 +8,19 @@ needGenerateH3Content: false # Release Notes for .NET Edition - 3.x +## 3.2.5000 (12/16/2025) + +This release includes security maintenance updates to ensure continued protection of the product. + +### Security Updates + +- Updated third-party libraries to incorporate the latest security fixes. + +### Bug Fixes + +- Fixed memory leak, crash, and hang issues in various scenarios. +- Improved stability in multi-threading operations. + ## 3.2.1000 (10/14/2025) ### 🎉Milestone Release diff --git a/programming/dotnet/release-notes/index.md b/programming/dotnet/release-notes/index.md index 182a426..d76184a 100644 --- a/programming/dotnet/release-notes/index.md +++ b/programming/dotnet/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision .NET Edition +- [3.2.5000 (12/16/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#325000-12162025) - [3.2.1000 (10/14/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#306000-08062025) - [3.0.4000 (07/15/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#304000-07152025) diff --git a/programming/java/release-notes/index.md b/programming/java/release-notes/index.md index fe266a5..99560e2 100644 --- a/programming/java/release-notes/index.md +++ b/programming/java/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision Java Edition +- [3.2.5000 (12/16/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#325000-12162025) - [3.2.1100 (10/28/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#321100-10282025) - [3.2.1000 (10/14/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#321000-10142025) - [3.0.6100 (08/19/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#306100-08192025) diff --git a/programming/java/release-notes/java-3.md b/programming/java/release-notes/java-3.md index 6191915..2a0e1cf 100644 --- a/programming/java/release-notes/java-3.md +++ b/programming/java/release-notes/java-3.md @@ -8,6 +8,19 @@ needGenerateH3Content: false # Release Notes for Java Edition - 3.x +## 3.2.5000 (12/16/2025) + +This release includes security maintenance updates to ensure continued protection of the product. + +### Security Updates + +- Updated third-party libraries to incorporate the latest security fixes. + +### Bug Fixes + +- Fixed memory leak, crash, and hang issues in various scenarios. +- Improved stability in multi-threading operations. + ## 3.2.1100 (10/28/2025) ### Fixed diff --git a/programming/python/release-notes/index.md b/programming/python/release-notes/index.md index d1eba59..d54f0bd 100644 --- a/programming/python/release-notes/index.md +++ b/programming/python/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision Python Edition +- [3.2.5000 (12/16/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#325000-12162025) - [3.2.1000 (10/14/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#306000-08062025) - [3.0.4100 (07/16/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#304100-07162025) diff --git a/programming/python/release-notes/python-3.md b/programming/python/release-notes/python-3.md index 9309d68..aacd647 100644 --- a/programming/python/release-notes/python-3.md +++ b/programming/python/release-notes/python-3.md @@ -8,6 +8,19 @@ needGenerateH3Content: false # Release Notes for Python Edition - 3.x +## 3.2.5000 (12/16/2025) + +This release includes security maintenance updates to ensure continued protection of the product. + +### Security Updates + +- Updated third-party libraries to incorporate the latest security fixes. + +### Bug Fixes + +- Fixed memory leak, crash, and hang issues in various scenarios. +- Improved stability in multi-threading operations. + ## 3.2.1000 (10/14/2025) ### 🎉Milestone Release From a7f8f9ad49ff269a4b14b5ac17400ddf13b96e1b Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 16 Dec 2025 14:46:48 +0800 Subject: [PATCH 5/6] update zip path --- programming/cplusplus/user-guide/document-scanner.md | 2 +- programming/cplusplus/user-guide/mrz-scanner.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/programming/cplusplus/user-guide/document-scanner.md b/programming/cplusplus/user-guide/document-scanner.md index b197f30..74ee425 100644 --- a/programming/cplusplus/user-guide/document-scanner.md +++ b/programming/cplusplus/user-guide/document-scanner.md @@ -33,7 +33,7 @@ To find out whether your environment is supported, please read the [System Requi ## Installation -If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. +If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. > [!IMPORTANT] > For this tutorial, we unpack it to a pseudo directory `[INSTALLATION FOLDER]`, change it to your unpacking path for the following content. diff --git a/programming/cplusplus/user-guide/mrz-scanner.md b/programming/cplusplus/user-guide/mrz-scanner.md index db22135..f844d5d 100644 --- a/programming/cplusplus/user-guide/mrz-scanner.md +++ b/programming/cplusplus/user-guide/mrz-scanner.md @@ -39,7 +39,7 @@ To find out whether your environment is supported, please read the [System Requi ## Installation -If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. +If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. > [!IMPORTANT] > For this tutorial, we unpack it to a pseudo directory `[INSTALLATION FOLDER]`, change it to your unpacking path for the following content. From 9d140a34604c50437ddc8f325bfda28b2ea8ef76 Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 16 Dec 2025 14:58:03 +0800 Subject: [PATCH 6/6] use EnhancedImageResultItem instead of DeskewedImageResultItem --- .../cplusplus/user-guide/document-scanner.md | 14 +++++++------- programming/python/user-guide/document-scanner.md | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/programming/cplusplus/user-guide/document-scanner.md b/programming/cplusplus/user-guide/document-scanner.md index 74ee425..465a8fc 100644 --- a/programming/cplusplus/user-guide/document-scanner.md +++ b/programming/cplusplus/user-guide/document-scanner.md @@ -175,24 +175,24 @@ CCaptureVisionRouter* router = new CCaptureVisionRouter(); cout << "Error: " << result->GetErrorCode() << "," << result->GetErrorString() << endl; } CProcessedDocumentResult *processedDocumentResult = result->GetProcessedDocumentResult(); - if (processedDocumentResult == nullptr || processedDocumentResult->GetDeskewedImageResultItemsCount() == 0) + if (processedDocumentResult == nullptr || processedDocumentResult->GetEnhancedImageResultItemsCount() == 0) { cout << "No document found." << endl; } else { - int count = processedDocumentResult->GetDeskewedImageResultItemsCount(); - cout << "Deskewed " << count << " documents" << endl; + int count = processedDocumentResult->GetEnhancedImageResultItemsCount(); + cout << "Normalized " << count << " documents" << endl; for (int i = 0; i < count; i++) { - const CDeskewedImageResultItem *deskewedImage = processedDocumentResult->GetDeskewedImageResultItem(i); - string outPath = "deskewedResult_"; + const CEnhancedImageResultItem *enhancedImage = processedDocumentResult->GetEnhancedImageResultItem(i); + string outPath = "enhancedResult_"; outPath += to_string(i) + ".png"; CImageIO imageIO; - // 5.Save deskewed image to file. - errorCode = imageIO.SaveToFile(deskewedImage->GetImageData(), outPath.c_str()); + // 5.Save normalized image to file. + errorCode = imageIO.SaveToFile(enhancedImage->GetImageData(), outPath.c_str()); if (errorCode == 0) { cout << "Document " << i << " file: " << outPath << endl; diff --git a/programming/python/user-guide/document-scanner.md b/programming/python/user-guide/document-scanner.md index b32351d..631ed0b 100644 --- a/programming/python/user-guide/document-scanner.md +++ b/programming/python/user-guide/document-scanner.md @@ -92,7 +92,7 @@ if normalized_images_result is None or len(normalized_images_result.get_items()) else: items = normalized_images_result.get_items() print("Normalized", len(items), "documents.") - for index,item in enumerate(normalized_images_result.get_items()): + for index,item in enumerate(normalized_images_result.get_items()): out_path = "normalizedResult_" + str(index) + ".png" image_manager = ImageManager() image = item.get_image_data()