| layout | default-layout |
|---|---|
| noTitleIndex | true |
| needAutoGenerateSidebar | true |
| title | How can I use a custom capability of my scanner hardware when there is no direct API to set it? |
| keywords | Dynamic Web TWAIN, Capture/ Image Source, custom capability |
| breadcrumbText | How can I use a custom capability of my scanner hardware when there is no direct API to set it? |
| description | How can I use a custom capability of my scanner hardware when there is no direct API to set it? |
| date | 2021-12-08 03:01:32 +0000 |
| last_modified | 2024-09-19 08:47:35 +0000 |
You can use Capability Negotiation to set it. Capability Negotiation is the way a TWAIN application communicates with a TWAIN source. This is how Dynamic Web TWAIN communicates with a scanner. The process looks something like this:
- [Dynamic Web TWAIN] Are you capable of ***?
- [Scanner] Yes, and here is what I can do…
- [Dynamic Web TWAIN] Great, here is what I want done…
- [Scanner] Consider it done
The steps are:
- Use getCapabilities{:target="_blank"} to find the capability you want to set.
DWTObject.OpenSource();
DWTObject.getCapabilities(
function () {
console.log(arguments);
},
function (error) {
console.log(error);
}
);- Alternatively, you can install the TWAIN Sample App to check the capabilities available and their values.
- Use setCapabilities{:target="_blank"} to set the capability.
DWTObject.setCapabilities(
{
exception: "ignore",
capabilities: [
{
capability: Dynamsoft.DWT.EnumDWT_Cap.ICAP_CONTRAST,
curValue: 500, // set the contrast to 500
exception: "fail",
},
],
},
function (result) {
console.log(result);
},
function (error) {
console.log(error);
}
);