Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions _includes/sidelist-programming/programming-android.html
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@
</li>
<li lang="android"><a>Enumerations</a>
<ul lang="android">
<li lang="android"><a href="{{ site.dcp_android_api }}enum/code-parser.html?lang=android" class="otherLinkColour">CodeType</a></li>
<li lang="android"><a href="{{ site.dcp_android_api }}enum/mapping-status.html?lang=android" class="otherLinkColour">MappingStatus</a></li>
<li lang="android"><a href="{{ site.dcp_android_api }}enum/validation-status.html?lang=android" class="otherLinkColour">ValiadtionStatus</a></li>
</ul>
Expand Down
1 change: 1 addition & 0 deletions _includes/sidelist-programming/programming-ios.html
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@
</li>
<li lang="objectivec-swift"><a>Enumerations</a>
<ul lang="objectivec-swift">
<li lang="objectivec-swift"><a href="{{ site.dcp_ios_api }}enum/code-type.html?lang=objc,swift" class="otherLinkColour">DSCodeType</a></li>
<li lang="objectivec-swift"><a href="{{ site.dcp_ios_api }}enum/mapping-status.html?lang=objc,swift" class="otherLinkColour">DSMappingStatus</a></li>
<li lang="objectivec-swift"><a href="{{ site.dcp_ios_api }}enum/validation-status.html?lang=objc,swift" class="otherLinkColour">DSValiadtionStatus</a></li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ void onTargetROIResultsReceived(@NonNull IntermediateResult result, Intermediate

The callback triggered when the processing of a task is finished.

> [!Note]
> This callback may be invoked on different threads. Ensure that any shared resources accessed within the callback are properly synchronized to avoid data corruption or crashes.

```java
void onTaskResultsReceived(@NonNull IntermediateResult result, IntermediateResultExtraInfo info);
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,20 @@ noTitleIndex: true
| [`getInput`](#getinput) | Returns the image source object. |
| [`addResultReceiver`](#addresultreceiver) | Adds a [`CapturedResultReceiver`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) object as the receiver of captured results. |
| [`removeResultReceiver`](#removeresultreceiver) | Removes the specified [`CapturedResultReceiver`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) object. |
| [`removeAllResultReceivers`](#removeallresultreceivers) | Removes all user-added [`CapturedResultReceivers`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html). |
| [`startCapturing`](#startcapturing) | Initiates a capturing process based on a specified template. This process is repeated for each image fetched from the source. |
| [`stopCapturing`](#stopcapturing) | Stops the capturing process. |
| [`pauseCapturing`](#pausecapturing) | Pauses the Capture Vision Router. |
| [`resumeCapturing`](#resumecapturing) | Resumes the Capture Vision Router. |
| [`addCaptureStateListener`](#addcapturestatelistener) | Registers a [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html) to be used as a callback when capture state is received. |
| [`removeCaptureStateListener`](#removecapturestatelistener) | Removes a [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html) that has been configured for the Capture Vision Router. |
| [`removeAllCaptureStateListeners`](#removeallcapturestatelisteners) | Removes all user-added [`CaptureStateListeners`](auxiliary-classes/capture-state-listener.html). |
| [`addResultFilter`](#addresultfilter) | Adds a `CapturedResultFilter` object to filter non-essential results. |
| [`removeResultFilter`](#removeresultfilter) | Removes the specified `CapturedResultFilter` object. |
| [`removeAllResultFilters`](#removeallresultfilters) | Removes all user-added `CapturedResultFilters`. |
| [`addImageSourceStateListener`](#addimagesourcestatelistener) | Register a [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html) to get callback when the status of [`ImageSourceAdapter`]({{ site.dcv_android_api }}core/basic-structures/image-source-adapter.html) received. |
| [`removeImageSourceStateListener`](#removeimagesourcestatelistener) | Removes a [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html) from the Capture Vision Router. |
| [`removeAllImageSourceStateListeners`](#removeallimagesourcestatelisteners) | Removes all user-added [`ImageSourceStateListeners`](auxiliary-classes/image-source-state-listener.html). |

## setInput

Expand Down Expand Up @@ -87,6 +91,14 @@ void removeResultReceiver(CapturedResultReceiver receiver);

`[in] receiver`: The receiver object, of type [`CapturedResultReceiver`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html).

## removeAllResultReceivers

Removes all user-added [`CapturedResultReceivers`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html).

```java
void removeAllResultReceivers();
```

## startCapturing

Initiates a capturing process based on a specified template. This process is repeated for each image fetched from the source.
Expand Down Expand Up @@ -153,6 +165,14 @@ void removeResultFilter(CapturedResultFilter filter);

`[in] filter`: The filter object, of type [`CapturedResultFilter`]({{ site.dcv_android_api }}capture-vision-router/auxiliary-classes/captured-result-filter.html).

## removeResultFilter

Removes all user-added`CapturedResultFilters`.

```java
void removeAllResultFilters();
```

## addCaptureStateListener

Registers a [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html) to be used as a callback when capture state is received.
Expand All @@ -177,6 +197,14 @@ void removeCaptureStateListener(CaptureStateListener listener);

`[in] listener`: An object of [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html)

## removeAllCaptureStateListeners

Removes all user-added [`CaptureStateListeners`](auxiliary-classes/capture-state-listener.html).

```java
void removeAllCaptureStateListeners();
```

## addImageSourceStateListener

Register a [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html) to get callback when the status of [`ImageSourceAdapter`]({{ site.dcv_android_api }}core/basic-structures/image-source-adapter.html) received.
Expand All @@ -200,3 +228,11 @@ void removeImageSourceStateListener(ImageSourceStateListener listener);
**Parameters**

`[in] listener`: An object of [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html).

## removeAllImageSourceStateListeners

Removes all user-added [`ImageSourceStateListeners`](auxiliary-classes/image-source-state-listener.html).

```java
void removeAllImageSourceStateListeners();
```
6 changes: 6 additions & 0 deletions programming/android/api-reference/core/enum/error-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ public @interface EnumErrorCode
public static final int EC_PDF_LIBRARY_LOAD_FAILED = -10075,
/*The license is initialized successfully but detected invalid content in your key.*/
public static final int EC_LICENSE_WARNING = -10076,
/*The template version is incompatible. Please use a compatible template.*/
public static final int EC_TEMPLATE_VERSION_INCOMPATIBLE = -10081
/** -20000~-29999: DLS license error code. */
/** No license. */
public static final int EC_NO_LICENSE = -20000,
Expand All @@ -154,6 +156,10 @@ public @interface EnumErrorCode
public static final int EC_INSTANCE_COUNT_OVER_LIMIT = -20008,
/** Trial License */
public static final int EC_TRIAL_LICENSE = -20010,
/*License authentication failed: quota exceeded.*/
public static final int EC_LICENSE_AUTH_QUOTA_EXCEEDED = -20013,
/**License restriction: the number of results has exceeded the allowed limit.*/
public static final int EC_LICENSE_RESULTS_LIMIT_EXCEEDED = -20014,
/** Failed to reach License Server. */
public static final int EC_FAILED_TO_REACH_DLS = -20200,
/** -30000~-39999: DBR error code. */
Expand Down
23 changes: 11 additions & 12 deletions programming/android/api-reference/utility/image-processor.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ class ImageProcessor

| Method | Description |
| ------ | ----------- |
| [`cropImage`](#cropimageimagedatarect) | Crops an image based on the provided rectangle or quadrilateral. |
| [`cropImage`](#cropimageimagedataquad) | Crops an image based on the provided rectangle or quadrilateral. |
| [`cropImage`](#cropimageimagedatarect) | Crops an image based on the provided rectangle. |
| [`cropAndDeskewImage(imageData,quad,dstWidth,dstHeight,padding)`](#cropanddeskewimageimagedataquaddstwidthdstheightpaddingerrorcode) | Crops and deskew an image based on the provided quadrilateral and additional information. |
| [`cropAndDeskewImage(imageData,quad)`](#cropanddeskewimageimagedataquad) | Crops and deskew an image based on the provided quadrilateral. |
| [`adjustBrightness`](#adjustbrightness) | Adjusts the brightness of an image. |
| [`adjustContrast`](#adjustcontrast) | Adjusts the contrast of an image. |
| [`filterImage`](#filterimage) | Applies a filter to an image. |
Expand Down Expand Up @@ -56,23 +57,21 @@ ImageData cropImage(ImageData imageData, Rect rect) throws UtilityException{}

The cropped `ImageData`.

### cropImage(imageData,quad)
### cropAndDeskewImage(imageData,quad,dstWidth,dstHeight,padding,errorCode)

Crops an image based on the provided quadrilateral.
Crops and deskews an image based on the provided quadrilateral and additional information.

```java
ImageData cropImage(ImageData imageData, Quadrilateral quad) throws UtilityException{}
public ImageData cropAndDeskewImage(CImageData imageData, CQuadrilateral quad, int dstWidth, int dstHeight, int padding) throws UtilityException{}
```

**Parameters**

`[in] imageData`: The `ImageData` to modify.

`[in] quad`: The `Quadrilateral` to crop the image.
### cropAndDeskewImage(imageData,quad)

**Return Value**
Crops and deskews an image based on the provided quadrilateral. The arguments dstWidth, dstHeight, and padding are set to 0.

The cropped `ImageData`.
```java
public ImageData cropAndDeskewImage(CImageData imageData, CQuadrilateral quad) throws UtilityException{}
```

### adjustBrightness

Expand Down
14 changes: 14 additions & 0 deletions programming/android/release-notes/android-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ noTitleIndex: true

# Release Notes - DynamsoftCaptureVision Android v3.x

## 3.0.5000 (07/29/2025)

### New

- **Supported 16 KB page sizes**.

### Changed

- **License Validation Behavior**: Instead of stopping execution immediately on an invalid license module, the library now continues processing and returns results from modules with valid licenses. An error is still reported to indicate the license issue.

### Fixed

- Fixed various minor bugs and improved overall stability.

## 3.0.3100 (05/30/2025)

### Fixed
Expand Down
1 change: 1 addition & 0 deletions programming/android/release-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ noTitleIndex: true

# Release Notes Index - DynamsoftCaptureVisionBundle Android

- [3.0.5000 (07/29/2025)](android-3.html#305000-07292025)
- [3.0.3100 (05/30/2025)](android-3.html#303100-05302025)
- [3.0.3000 (05/15/2025)](android-3.html#303000-05152025)
- [2.6.1003 (01/23/2025)](android-2.html#261003-01232025)
Expand Down
4 changes: 2 additions & 2 deletions programming/android/user-guide/mrz.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,13 @@ The MRZ (Machine Readable Zone) in TD3 format consists of 2 lines, with each lin
>1.
```groovy
dependencies {
implementation 'com.dynamsoft:mrzscannerbundle:3.0.3100'
implementation 'com.dynamsoft:mrzscannerbundle:3.0.5000'
}
```
2.
```kotlin
dependencies {
implementation("com.dynamsoft:mrzscannerbundle:3.0.3100")
implementation("com.dynamsoft:mrzscannerbundle:3.0.5000")
}
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,25 @@ noTitleIndex: true

| Method | Description |
| ------ | ----------- |
| [`setInput`](#setinput) | Sets an image source that will provide images to be consecutively processed. |
| [`getInput`](#getinput) | Gets the attached image source adapter object of the Capture Vision Router. |
| [`addImageSourceStateListener`](#addimagesourcestatelistener) | Registers a `DSImageSourceStateListener` object to be used as a callback when the status of `DSImageSourceAdapter` changes. |
| [`removeImageSourceStateListener`](#removeimagesourcestatelistener) | Removes a `DSImageSourceStateListener` from the Capture Vision Router. |
| [`setInput`](#setinput) | Sets up an image source to provide images for continuous processing. |
| [`getInput`](#getinput) | Returns the image source object. |
| [`addResultReceiver`](#addresultreceiver) | Adds a [`CapturedResultReceiver`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) object as the receiver of captured results. |
| [`removeResultReceiver`](#removeresultreceiver) | Removes the specified [`CapturedResultReceiver`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) object. |
| [`removeAllResultReceivers`](#removeallresultreceivers) | Removes all user-added [`CapturedResultReceivers`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html). |
| [`startCapturing`](#startcapturing) | Initiates a capturing process based on a specified template. This process is repeated for each image fetched from the source. |
| [`stopCapturing`](#stopcapturing) | Stops the capturing process. |
| [`pauseCapturing`](#pausecapturing) | Pauses the capturing process. |
| [`resumeCapturing`](#resumecapturing) | Resumes the capturing process. |
| [`addCaptureStateListener`](#addcapturestatelistener) | Registers a `DSCaptureStateListener` to be used as a callback when capture state changes. |
| [`removeCaptureStateListener`](#removecapturestatelistener) | Removes a `DSCaptureStateListener` that has been configured for the Capture Vision Router. |
| [`addResultFilter`](#addresultfilter) | Adds a `DSCapturedResultFilter` object to filter non-essential results. |
| [`removeResultFilter`](#removeresultfilter) | Removes the specified `DSCapturedResultFilter` object. |
| [`pauseCapturing`](#pausecapturing) | Pauses the Capture Vision Router. |
| [`resumeCapturing`](#resumecapturing) | Resumes the Capture Vision Router. |
| [`addCaptureStateListener`](#addcapturestatelistener) | Registers a [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html) to be used as a callback when capture state is received. |
| [`removeCaptureStateListener`](#removecapturestatelistener) | Removes a [`CaptureStateListener`](auxiliary-classes/capture-state-listener.html) that has been configured for the Capture Vision Router. |
| [`removeAllCaptureStateListeners`](#removeallcapturestatelisteners) | Removes all user-added [`CaptureStateListeners`](auxiliary-classes/capture-state-listener.html). |
| [`addResultFilter`](#addresultfilter) | Adds a `CapturedResultFilter` object to filter non-essential results. |
| [`removeResultFilter`](#removeresultfilter) | Removes the specified `CapturedResultFilter` object. |
| [`removeAllResultFilters`](#removeallresultfilters) | Removes all user-added `CapturedResultFilters`. |
| [`addImageSourceStateListener`](#addimagesourcestatelistener) | Register a [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html) to get callback when the status of [`ImageSourceAdapter`]({{ site.dcv_android_api }}core/basic-structures/image-source-adapter.html) received. |
| [`removeImageSourceStateListener`](#removeimagesourcestatelistener) | Removes a [`ImageSourceStateListener`](auxiliary-classes/image-source-state-listener.html) from the Capture Vision Router. |
| [`removeAllImageSourceStateListeners`](#removeallimagesourcestatelisteners) | Removes all user-added [`ImageSourceStateListeners`](auxiliary-classes/image-source-state-listener.html). |


## setInput

Expand Down Expand Up @@ -131,6 +136,23 @@ func removeImageSourceStateListener(_ listener:DSImageSourceStateListener) -> BO

A BOOL value that indicates whether the `DSImageSourceStateListener` is removed successfully.

## removeAllImageSourceStateListeners

Removes all user-added `DSImageSourceStateListeners`.

<div class="sample-code-prefix"></div>
>- Objective-C
>- Swift
>
>1.
```objc
- (BOOL)removeAllImageSourceStateListeners;
```
2.
```swift
func removeAllImageSourceStateListeners()
```

## addResultReceiver

Adds a [`CapturedResultReceiver`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) object as the receiver of captured results.
Expand Down Expand Up @@ -181,6 +203,23 @@ func removeResultReceiver(_ listener:DSCapturedResultReceiver) -> BOOL

A BOOL value that indicates whether the result receiver is removed successfully.

## removeAllResultReceivers

Removes all user-added [`CapturedResultReceivers`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html).

<div class="sample-code-prefix"></div>
>- Objective-C
>- Swift
>
>1.
```objc
- (void)removeAllResultReceivers;
```
2.
```swift
func removeAllResultReceivers()
```

## startCapturing

Initiates a capturing process based on a specified template. This process is repeated for each image fetched from the source.
Expand All @@ -196,7 +235,7 @@ Initiates a capturing process based on a specified template. This process is rep
```
2.
```swift
func startCapturing(_ templateName:String) -> BOOL
func startCapturing(_ templateName:String, completionHandler: ((Bool, (any Error)?) -> Void)? = nil)
```

**Parameters**
Expand Down Expand Up @@ -325,6 +364,23 @@ func removeCaptureStateListener(_ listener:DSCaptureStateListener) -> BOOL

A BOOL value that indicates whether the capture state listener is removed successfully.

## removeAllCaptureStateListeners

Removes all user-added `DSCaptureStateListeners`.

<div class="sample-code-prefix"></div>
>- Objective-C
>- Swift
>
>1.
```objc
- (BOOL)removeAllCaptureStateListeners;
```
2.
```swift
func removeAllCaptureStateListeners()
```

## addResultFilter

Adds a [`DSCapturedResultFilter`]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-filter.html) object to filter non-essential results. Currnetly, is must be a [`MultiFrameCrossFilter`]({{ site.dcv_ios_api }}utility/multi-frame-result-cross-filter.html) object.
Expand Down Expand Up @@ -374,3 +430,20 @@ func removeResultFilter(_ filter:DSCapturedResultFilter) -> BOOL
**Return Value**

A BOOL value that indicates whether the result filter is removed successfully.

## removeAllResultFilters

Removes all user-added `DSCapturedResultFilters`.

<div class="sample-code-prefix"></div>
>- Objective-C
>- Swift
>
>1.
```objc
- (BOOL)removeAllResultFilters;
```
2.
```swift
func removeAllResultFilters()
```
8 changes: 7 additions & 1 deletion programming/ios/api-reference/core/enum/error-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ typedef NS_ERROR_ENUM(DSErrorDomain, DSError) {
DSErrorPDFLicenseNotFound = -10079,
/**The rectangle is invalid.*/
DSErrorRectInvalid = -10080,
/*The template version is incompatible. Please use a compatible template.*/
DSErrorTemplateVersionIncompatible = -10081,
/**No license.*/
DSErrorNoLicense = -20000,
/**Failed to read or write license cache. */
Expand All @@ -145,6 +147,10 @@ typedef NS_ERROR_ENUM(DSErrorDomain, DSError) {
DSErrorInstanceCountOverLimit = -20008,
/**Trial License*/
DSErrorTrialLicense = -20010,
/*License authentication failed: quota exceeded.*/
DSErrorLicenseAuthQuotaExceeded = -20013,
/**License restriction: the number of results has exceeded the allowed limit.*/
DSErrorLicenseResultsLimitExceeded = -20014,
/**The license is not valid for current version*/
DSErrorLicenseVersionNotMatch = -20011,
/** -30000~-39999: DBR error code. */
Expand Down Expand Up @@ -191,7 +197,7 @@ typedef NS_ERROR_ENUM(DSErrorDomain, DSError) {
/**No content has been detected. */
DSErrorContentNotFound = -50056,
/*The quardrilateral is invalid. */
DSErrorQuardrilateralInvalid = -50057,
DSErrorQuadrilateralInvalid = -50057,
/*[Document Normalizer] No license found.*/
DSErrorDDNLicenseNotFound = -50058,
/** -60000~-69999: DCE error code. */
Expand Down
Loading