UNPKG

dwt

Version:

Dynamic Web TWAIN is a TWAIN/ICA/SANE-based scanning SDK software specifically designed for web applications running on Windows/macOS/Linux. With just a few lines of code, you can develop robust applications to scan documents from TWAIN/ICA/SANE-compatibl

1,146 lines (1,143 loc) 44.4 kB
import { DynamsoftEnumsDWT } from "./Dynamsoft.Enum"; import { WebTwainEdit } from "./WebTwain.Edit"; import { WebTwain } from "./WebTwain"; export interface WebTwainAcquire extends WebTwainEdit { /** * Start image acquisition. * @param deviceConfiguration Configuration for the acquisition. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument errorCode The error code. * @argument errorString The error string. */ AcquireImage( successCallBack?: () => void, failureCallBack?: ( errorCode: number, errorString: string) => void ): void; AcquireImage( deviceConfiguration?: DeviceConfiguration, successCallBack?: () => void, failureCallBack?: ( deviceConfiguration: DeviceConfiguration, errorCode: number, errorString: string) => void ): void; /** * Close the data source (a TWAIN/ICA/SANE device which in most cases is a scanner) to free it to be used by other applications. */ CloseSource(): boolean; /** * Close the data source (a TWAIN/ICA/SANE device which in most cases is a scanner) to free it to be used by other applications. */ CloseSourceAsync(): Promise<boolean>; /** * Disable the data source (a TWAIN/ICA/SANE device which in most cases is a scanner) to stop the acquiring process. If the data source's user interface is displayed, it will be closed. */ DisableSource(): boolean; /** * Enable the data source to start the acquiring process. */ EnableSource(): boolean; /** * Display the TWAIN source's built-in user interface. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument errorCode The error code. * @argument errorString The error string. */ EnableSourceUI( successCallBack: () => void, failureCallBack: ( errorCode: number, errorString: string) => void ): void; /** * Load a data source to get it ready to acquire images. */ OpenSource(): boolean; /** * Return all available data sources (scanners, etc.) and optionally all detailed information about them. * @param bIncludeDetails Whether to return more details about the data sources or just their names. */ /** * Load a data source to get it ready to acquire images. */ OpenSourceAsync(): Promise<boolean>; /* * @deprecated since version 10.1. This function will be removed in future versions. Use `GetSourceNamesAsync` instead. */ GetSourceNames(bIncludeDetails?: boolean): string[] | SourceDetails[]; /** * Return all available data sources (scanners, etc.) and optionally all detailed information about them. * @param bIncludeDetails Whether to return more details about the data sources or just their names. */ GetSourceNamesAsync(bIncludeDetails: boolean): Promise<string[] | SourceDetails[]>; /** * Bring up the Source Selection User Interface (UI) for the user to choose a data source. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument errorCode The error code. * @argument errorString The error string. */ SelectSource( ): boolean | string; /** * Bring up the Source Selection User Interface (UI) for the user to choose a data source. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument errorCode The error code. * @argument errorString The error string. */ SelectSource( successCallBack: () => void, failureCallBack: (errorCode: number, errorString: string) => void ): void; /** * Bring up the Source Selection User Interface (UI) for the user to choose a data source. * @param deviceType The device type. Added the parameter deviceType in Dynamic Web TWAIN 18 */ SelectSourceAsync(deviceType?: DynamsoftEnumsDWT.EnumDWT_DeviceType | number ): Promise<number>; /** * Select a data source by its index. * @param index The index of the data source. */ SelectSourceByIndex(index: number): boolean; /** * Select a data source by its index. * @param index The index of the data source. */ SelectSourceByIndexAsync(index: number): Promise<boolean>; /** * Return all available devices (scanners, eSCL scanners, etc.) for the device type (if specified) * @param deviceType The device type * @param refresh Default value: false */ GetDevicesAsync(deviceType?: DynamsoftEnumsDWT.EnumDWT_DeviceType | number, refresh?: boolean): Promise<Device[]>; /** * Select the device to use for scanning * @param device the device */ SelectDeviceAsync(device: Device): Promise< boolean>; /** * Scan documents into another DWTObject control. eSCL is not supported. * @param deviceConfiguration The device configuration */ AcquireImageAsync(deviceConfiguration?: DeviceConfiguration): Promise< boolean>; /** * Sets a timer which stops the data source opening process once it expires. * @param duration Define the duration of the timer (in milliseconds). */ SetOpenSourceTimeout(duration: number): boolean; /** * Start the acquisition by passing all settings at once. * @param scanSetup Configuration for the acquisition. */ startScan(scanSetup: ScanSetup): Promise<ScanSetup>; /** * Cancels all pending transfers. */ CancelAllPendingTransfers(): boolean; /** * Closes and unloads Data Source Manager. */ CloseSourceManager(): boolean; /** * Closes and unloads Data Source Manager. */ CloseSourceManagerAsync(): Promise<boolean>; /** * Closes the scanning process to release resources on the machine. */ CloseWorkingProcess(): boolean; /** * Ejects the current page and begins scanning the next page in the document feeder. */ FeedPage(): boolean; /** * Get the custom data source data and saves the data in a specified file. * @param fileName The path of the file to save the data source data to. */ GetCustomDSData(fileName: string): boolean; /** * Gets custom DS data and returns it in a base64 string. */ GetCustomDSDataEx(): string; /** * @deprecated since version 18.0. This function will be removed in future versions. * Inspect the current data source and return whether it is a scanner, a webcam, etc. */ GetDeviceType(): number; /** * Get the name of a data source by its index in data source manager source list. * @param index The index of the data source. */ GetSourceNameItems(index: number): string; /** * Load and open data source manager. */ OpenSourceManager(): boolean; /** * Load and open data source manager. */ OpenSourceManagerAsync(): Promise<boolean>; /** * Reset the image layout in the data source. */ ResetImageLayout(): boolean; /** * If called while {IfFeederEnabled} property is true, the data source will return the current page to the input area and return the last page from the output area into the acquisition area. */ RewindPage(): boolean; /** * Sets custom data source data to be used for scanning, the data is stored in a file which can be regarded as a scanning profile. * @param fileName The path of the file. */ SetCustomDSData(fileName: string): boolean; /** * Set custom data source data to be used for scanning, the input is a base64 string. * @param dsDataString The string that contains custom data source data. */ SetCustomDSDataEx(dsDataString: string): boolean; /** * Set the file transfer information to be used in File Transfer mode. * @param fileName The path to transfer the file to. * @param fileFormat The format of the file. */ SetFileXferInfo( fileName: string, fileFormat: DynamsoftEnumsDWT.EnumDWT_FileFormat | number ): boolean; /** * Set the left, top, right, and bottom sides of the image layout * rectangle for the current data source. The image layout rectangle * defines a frame of the data source's scanning area to be acquired. * @param left Specify the rectangle (leftmost coordinate). * @param top Specify the rectangle (topmost coordinate). * @param right Specify the rectangle (rightmost coordinate). * @param bottom Specify the rectangle (bottommost coordinate). */ SetImageLayout( left: number, top: number, right: number, bottom: number ): boolean; /** * Return or set the pixel bit depth for the current value of `PixelType`. */ BitDepth: number; /** * Return or set whether newly acquired images are inserted or appended. */ IfAppendImage: boolean; /** * Return or set whether to close the user interface after all images have been acquired. */ IfDisableSourceAfterAcquire: boolean; /** * Return or set whether to enable duplex scanning (in other words, whether to scan both sides of the paper). */ IfDuplexEnabled: boolean; /** * Return or set whether a data source's Automatic Document Feeder (ADF) is enabled for scanning. */ IfFeederEnabled: boolean; /** * Return or set whether the data source displays the user interface when scanning. */ IfShowUI: boolean; /** * Return or set whether to use TWAIN or ICA protocol on macOS. */ ImageCaptureDriverType: DynamsoftEnumsDWT.EnumDWT_Driver | number; /** * Return or set the page size the data source uses to acquire images. */ PageSize: DynamsoftEnumsDWT.EnumDWT_CapSupportedSizes | number; /** * Return or set the pixel type used when acquiring images. */ PixelType: DynamsoftEnumsDWT.EnumDWT_PixelType | number; /** * Return or set the resolution used when acquiring images. */ Resolution: number; /** * Returns how many data sources are available on the local system. */ readonly SourceCount: number; /** * Return or set the brightness to be used for scanning by the data source. */ Brightness: number; /** * Return or set Contrast to be used for scanning by the data source. */ Contrast: number; /** * Return the device name of current source. */ readonly CurrentSourceName: string; /** * Return a value that indicates the data source status. */ DataSourceStatus: number; /** * Return the name of the default source. */ DefaultSourceName: string; /** * Return whether the source supports duplex. If yes, it further returns the level of duplex the data source supports. */ readonly Duplex: DynamsoftEnumsDWT.EnumDWT_DUPLEX | number; /** * Return or set whether to enable the data source's auto-brightness feature. */ IfAutoBright: boolean; /** * Return or set whether the data source (the scanner) discards blank images during scanning automatically. */ IfAutoDiscardBlankpages: boolean; /** * Return or set whether to enable the data source's automatic document feeding process. */ IfAutoFeed: boolean; /** * Return or set whether to enable the data source's automatic border detection feature. */ IfAutomaticBorderDetection: boolean; /** * Return or set whether to enable the data source's automatic skew correction feature. */ IfAutomaticDeskew: boolean; /** * Return or set whether to enable the data source's automatic document scanning process. */ IfAutoScan: boolean; /** * Return whether or not there are documents loaded in the data source's feeder. */ readonly IfFeederLoaded: boolean; /** * Return whether the Source has a paper sensor that can detect pages on the ADF or Flatbed. */ readonly IfPaperDetectable: boolean; /** * Return or set whether the data source displays a progress indicator during acquisition and transfer. */ IfShowIndicator: boolean; /** * Return whether the data source supports acquisitions with the UI (User Interface) disabled. */ readonly IfUIControllable: boolean; /** * Return or set whether the new TWAIN DSM (data source Manager) is used for acquisitions. The new TWAIN DSM is a DLL called 'TWAINDSM.dll' while the default | old DSM is called 'twain_32.dll'. */ IfUseTwainDSM: boolean; /** * Return the value of the bottom edge of the current image frame (in Unit). */ readonly ImageLayoutFrameBottom: number; /** * Return the value of the left edge of the current image frame (in Unit). */ readonly ImageLayoutFrameLeft: number; /** * Return the value of the right edge of the current image frame (in Unit). */ readonly ImageLayoutFrameRight: number; /** * Return the value of the top edge of the current image frame (in Unit). */ readonly ImageLayoutFrameTop: number; /** * Return the document number of the current image. */ readonly ImageLayoutDocumentNumber: number; /** * Return the page number of the current image. */ readonly ImageLayoutPageNumber: number; /** * @deprecated since version 10.1. This property will be removed in future versions. Use `RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {})` and get `outputInfo` instead. * Return the bit depth of the current image. */ readonly ImageBitsPerPixel: number; /** * Return the pixel type of the current image. */ readonly ImagePixelType: DynamsoftEnumsDWT.EnumDWT_PixelType | number; /** * @deprecated since version 10.1. This property will be removed in future versions. Use `RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {})` and get `outputInfo` instead. * Return the length of the current image. */ readonly ImageLength: number; /** * @deprecated since version 10.1. This property will be removed in future versions. Use `RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {})` and get `outputInfo` instead. * Return the width of the current image. */ readonly ImageWidth: number; /** * @deprecated since version 10.1. This property will be removed in future versions. Use `RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {})` and get `outputInfo` instead. * Return the horizontal resolution of the current image. */ readonly ImageXResolution: number; /** * @deprecated since version 10.1. This property will be removed in future versions. Use `RegisterEvent("OnPostTransferAsync", function (outputInfo: OutputInfo) {})` and get `outputInfo` instead. * Return the vertical resolution of the current image. */ readonly ImageYResolution: number; /** * Return the data of the magnetic data if the data source supports magnetic data recognition. */ readonly MagData: string; /** * Return the type of the magnetic data if the data source supports magnetic data recognition. */ readonly MagType: DynamsoftEnumsDWT.EnumDWT_MagType | number; /** * Return the number of transfers the data source is ready to supply upon demand. */ readonly PendingXfers: number; /** * Return or set the pixel flavor to be used for acquiring images. */ PixelFlavor: number; /** * Return or set the data source's transfer mode. */ TransferMode: DynamsoftEnumsDWT.EnumDWT_TransferMode | number; /** * Return or set the unit of measure for all quantities. */ Unit: DynamsoftEnumsDWT.EnumDWT_UnitType | number; /** * Return and set the number of images your application is willing to accept for each scan job. */ XferCount: number; /** * Gets detailed information about all capabilities of the current data source. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument capabilityDetails Detailed information about the specified capabilities. * @argument errorCode The error code. * @argument errorString The error string. */ getCapabilities( succssCallback: (capabilityDetails: CapabilityDetails[]) => void, failureCallback: ( errorCode: number, errorString: string ) => void ): void; /** * Gets detailed information about specific capabilities of the current data source. * @param capabilities Specify one or multiple capabilities. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument capabilityDetails Detailed information about the specified capabilities. * @argument errorCode The error code. * @argument errorString The error string. */ getCapabilities( capabilities: DynamsoftEnumsDWT.EnumDWT_Cap[] | number[], succssCallback: (capabilityDetails: CapabilityDetails[]) => void, failureCallback: ( errorCode: number, errorString: string ) => void ): void; /** * Sets up one or multiple capabilities in one call. * @param capabilities A object that describes how to set capabilities. * @param successCallback A callback function that is executed if the request succeeds. * @param failureCallback A callback function that is executed if the request fails. * @argument capabilities The capabilities to set. */ setCapabilities( capabilities: Capabilities, succssCallback: (capabilities: Capabilities) => void, failureCallback: (capabilities: Capabilities) => void ): void; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Specifies the capabiltiy to be negotiated. This is a runtime property. */ Capability: DynamsoftEnumsDWT.EnumDWT_Cap; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the index (0-based) of * a list to indicate the Current Value when the value of * the CapType property is TWON_ENUMERATION. If the data type * of the capability is String, the list is in CapItemsString property. * For other data types, the list is in CapItems property. This is a runtime property. */ CapCurrentIndex: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the current value in a range when the * value of the CapType property is TWON_RANGE. This is a runtime property. */ CapCurrentValue: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return the index (0-based) of a list to indicate the * Default Value when the value of the CapType property is TWON_ENUMERATION. * If the data type of the capability is String, the list is in CapItemsString property. * For other data types, the list is in CapItems property. This is a runtime, read-only property. */ readonly CapDefaultIndex: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return the default value in a range when the value of the * CapType property is TWON_RANGE. This is a runtime, read-only property. */ CapDefaultValue: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Retruns the description for a capability */ CapDescription: string; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the maximum value in a range when the * value of the CapType property is TWON_RANGE. This is a runtime property. */ CapMaxValue: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the minimum value in a range when the * value of the CapType property is TWON_RANGE. This is a runtime property. */ CapMinValue: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set how many items are in the list when the * value of the CapType property is TWON_ARRAY or TWON_ENUMERATION. * For String data type, the list is in CapItemsString property. * For other data types, the list is in CapItems property. * This is a runtime property. */ CapNumItems: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the step size in a range when the value * of the CapType property is TWON_RANGE. This is a runtime property. */ CapStepSize: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the type of capability container used * to exchange capability information between application and source. * This is a runtime property. */ CapType: DynamsoftEnumsDWT.EnumDWT_CapType; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the value of the capability specified by * Capability property when the value of the CapType property is TWON_ONEVALUE. * This is a runtime property. */ CapValue: number; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the string value for a capability when the * value of the CapType property is TWON_ONEVALUE. This is a runtime property. */ CapValueString: string; /** * @deprecated since version 16.1.1. This property will be removed in future versions. Use function `getCapabilities` and `setCapabilities` instead. * Return or set the value type for reading the value of a capability. * This is a runtime property. */ CapValueType: number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Gets information of the capability specified by the Capability property. */ CapGet(): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the Source's current Value for the specified capability. */ CapGetCurrent(): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the Source's Default Value for the specified capability. * This is the Source's preferred default value. */ CapGetDefault(): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the value of the bottom-most edge of the specified frame. * @param index specifies the value of which frame to get. The index is 0-based. */ CapGetFrameBottom(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the value (in Unit) of the left-most edge of the specified frame. * @param index specifies the value of which frame to get. The index is 0-based. */ CapGetFrameLeft(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the value (in Unit) of the left-most edge of the specified frame. * @param index specifies the value of which frame to get. The index is 0-based. */ CapGetFrameRight(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Return the value (in Unit) of the top-most edge of the specified frame. * @param index specifies the value of which frame to get. The index is 0-based. */ CapGetFrameTop(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. */ CapGetHelp(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. */ CapGetLabel(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. */ CapGetLabels(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Queries whether the Source supports a particular operation on the capability. * @param {DynamsoftEnumsDWT.EnumDWT_MessageType} messageType specifies the type of capability operation. */ CapIfSupported(messageType: DynamsoftEnumsDWT.EnumDWT_MessageType): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Changes the Current Value of the capability specified by * Capability property back to its power-on value. */ CapReset(): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Sets the current capability using the container type specified by * CapType property. The current capability is specified by Capability property. */ CapSet(): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Sets the values of the specified frame. * @param index specifies the values of which frame to set. The index is 0-based. * @param left the value (in Unit) of the left-most edge of the specified frame. * @param top the value (in Unit) of the top-most edge of the specified frame. * @param right the value (in Unit) of the right-most edge of the specified frame. * @param bottom the value (in Unit) of the bottom-most edge of the specified frame. */ CapSetFrame(index: number, left: number, top: number, right: number, bottom: number): boolean; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Get the cap item value of the capability specified by Capability property, * when the value of the CapType property is TWON_ARRAY or TWON_ENUMERATION. * @param index Index is 0-based. It is the index of the cap item. */ GetCapItems(index: number): number; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Returns the cap item value of the capability specified by Capability property, * when the value of the CapType property is TWON_ARRAY or TWON_ENUMERATION. * @param index Index is 0-based. It is the index of the cap item. */ GetCapItemsString(index: number): string; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Set the value of the specified cap item. * @param index Index is 0-based. It is the index of the cap item. * @param newVal For string type, please use CapItemsstring property. */ SetCapItems(index: number, newVal: number): void; /** * @deprecated since version 16.1.1. This function will be removed in future versions. Use `getCapabilities` and `setCapabilities` instead. * Set the cap item value of the capability specified by Capability property, * when the value of the CapType property is TWON_ARRAY or TWON_ENUMERATION. * @param index Index is 0-based. It is the index of the cap item. * @param newVal The new value to be set. */ SetCapItemsString(index: number, newVal: string): void; } export interface DeviceConfiguration { PageSize?: DynamsoftEnumsDWT.EnumDWT_CapSupportedSizes | number; /** * Whether to show the built-in User Interface from the device vendor */ IfShowUI?: boolean; /** * How a pixel is represented. Basically it means whether to scan in color, grey or black & white */ PixelType?: DynamsoftEnumsDWT.EnumDWT_PixelType | number | string; /** * How detailed is the acquisition. Measured by dots per pixel (DPI) */ Resolution?: number; /** * Whether to use the document feeder or the flatbed of the device. */ IfFeederEnabled?: boolean; /** * Whether to scan one side or both sides of each paper. */ IfDuplexEnabled?: boolean; /** * Whether to close the built-in User Interface after aquisition. Only valid when {IfShowUI} is true. */ IfDisableSourceAfterAcquire?: boolean; /** * Whether to close source after aquisition. */ IfCloseSourceAfterAcquire?:boolean; /** * Whether to retrieve information about the image after it's transferred. */ IfGetImageInfo?: boolean; /** * Whether to retrieve extended information about the image after it's transferred. */ IfGetExtImageInfo?: boolean; /** * How much extended information is retrieved. Only valid when {IfGetExtImageInfo} is true. */ extendedImageInfoQueryLevel?: DynamsoftEnumsDWT.EnumDWT_ExtImageInfo | number; /** * Specify a source by its index. * (Added in 16.2) */ SelectSourceByIndex?: number; [key:string]: any; } export interface SourceDetails { /** * The driver type which can be "TWAIN" | "ICA" | "SANE" */ DriverType?: string; /** * Information about the driver if it's DriverType is "ICA" */ DeviceInfo?: any; /** * The name of the data source. E.g. "TWAIN2 FreeImage Software Scanner". */ ProductName?: string; /** * Whether it is the default source. */ IsDefaultSource?: boolean; /** * Whether it is the current source. */ IsCurrentSource?: boolean; /** * The family name of the data source. E.g. "Software Scan". */ ProductFamily?: string; /** * The manufacturer of the data source. E.g. "TWAIN Working Group". */ Manufacturer?: string; /** * Supported Groups */ SupportedGroups?: number; /** * The version of the protocol based on which the data source is developed. */ ProtocolMajor?: number; ProtocolMinor?: number; /** * Detailed version of the data source. */ Version?: Version; } export interface Version { MajorNum?: number; MinorNum?: number; Language?: number; Country?: number; Info?: string; } export interface ScanSetup { /** * An id that specifies this specific setup. */ setupId?: string; /** * Whether to ignore or fail the acquistion when an exception is raised. Set "ignore" or "fail". */ exception?: string; /** * The name of the data source (the scanner). If not set, the default data source is used. */ scanner?: string | Device; ui?: { /** * Whether to show the UI of the device. */ bShowUI?: boolean, /** * Whether to show the indicator of the device. */ bShowIndicator?: boolean, }; /** * The TWAIN transfer mode. */ transferMode?: DynamsoftEnumsDWT.EnumDWT_TransferMode | number; /** * Set how the transfer is done. */ fileXfer?: { /** * Specify the file name (or pattern) for file transfer. * Example: "C:\\WebTWAIN<%06d>.bmp" */ fileName?: string, /** * Specify the file format. */ fileFormat?: DynamsoftEnumsDWT.EnumDWT_FileFormat | number, /** * Specify the quality of JPEG files. */ jpegQuality?: number, /** * Specify the compression type of the file. */ compressionType?: DynamsoftEnumsDWT.EnumDWT_CompressionType | number }; /** * Set where the scanned images are inserted. */ insertingIndex?: number; /** * The profile is a base64 string, if present, it overrides settings and more settings. */ profile?: string; /** * Basic settings. */ settings?: { /** * "ignore" (default) or "fail". */ exception?: string, /** * Specify the pixel type. */ pixelType?: DynamsoftEnumsDWT.EnumDWT_PixelType | number, /** * Specify the resolution. */ resolution?: number, /** * Whether to enable document feader. */ bFeeder?: boolean, /** * Whether to enable duplex scan. */ bDuplex?: boolean }; moreSettings?: { /** * "ignore" (default) or "fail". */ exception?: string, /** * Specify the bit depth. */ bitDepth?: number, /** * Specify the page size. */ pageSize?: DynamsoftEnumsDWT.EnumDWT_CapSupportedSizes | number, /** * Specify the unit. */ unit?: DynamsoftEnumsDWT.EnumDWT_UnitType | number, /** * Specify a layout to scan, if present, it'll override pageSize. */ layout?: { left?: number, top?: number, right?: number, bottom?: number }, /** * Specify the pixel flavor. */ pixelFlavor?: DynamsoftEnumsDWT.EnumDWT_CapPixelFlavor | number, /** * Specify Brightness. */ brightness?: number, /** * Specify contrast. */ contrast?: number, /** * Specify how many images are transferred per session. */ nXferCount?: number, /** * Whether to enable automatic blank image detection and removal. */ autoDiscardBlankPages?: boolean, /** * Whether to enable automatic border detection. */ autoBorderDetection?: boolean, /** * Whether to enable automatic skew correction. */ autoDeskew?: boolean, /** * Whether to enable automatic brightness adjustment. */ autoBright?: boolean, autoFeed?: boolean, autoScan?: boolean }; /** * A callback triggered before the scan, after the scan and after each page has been transferred. */ funcScanStatus?: (status: Status) => void; /** * Set up how the scanned images are outputted. */ outputSetup?: { /** * Output type. "http" is the only supported type for now. */ type?: string, /** * Set the output format. */ format?: DynamsoftEnumsDWT.EnumDWT_ImageType | number, /** * Specify how many times the library will try the output. */ reTries?: number, /** * Whether to use the FileUploader. */ useUploader?: false, /** * Whether to upload all images in one HTTP post. */ singlePost?: boolean, /** * Whether to show a progress bar when outputting. */ showProgressBar?: boolean, /** * Whether to remove the images after outputting. */ removeAfterOutput?: boolean, /** * A callback triggered during the outputting. * @argument fileInfo A JSON object that contains the fileName, percentage, statusCode, responseString, etc. */ funcHttpUploadStatus?: (fileInfo: any) => void, /** * Setup for PDF output. */ pdfSetup?: { author?: string, compression?: DynamsoftEnumsDWT.EnumDWT_PDFCompressionType | number, creator?: string, /** * Example: 'D:20181231' */ creationDate?: string, keyWords?: string, /** * Example: 'D:20181231' */ modifiedDate?: string, producer?: string, subject?: string, title?: string, version?: number, quality?: number }, /** * Setup for TIFF output. */ tiffSetup?: { quality?: number, compression?: DynamsoftEnumsDWT.EnumDWT_TIFFCompressionType | number, /** * Specify Tiff custom tags. */ tiffTags?: TiffTag[] }, /** * Setup for HTTP upload via Post. */ httpParams?: { /** * Target of the request. */ url?: string, /** * Custom headers in the form. * Example: {md5: ""} */ headers?: any, /** * Custom form fields. * Example: {"UploadedBy": "Dynamsoft"} */ formFields?: any, /** * The maximum size of a file to be uploaded (in bytes). */ maxSizeLimit?: number, /** * Specify how many threads (<=4) are to be used. Only valid when {useUploader} is true. */ threads?: number, /** * Specify the names for the files in the form. * Example: "RemoteName<%06d>" */ remoteName?: string, /** * Specify the name(s) (pattern) of the uploaded files. * Example: "uploadedFile<%06d>.jpg" */ fileName?: string } }; } export interface Status { bScanCompleted?: boolean; event?: string; result?: { currentPageNum?: number }; } export interface TiffTag { tagIdentifier?: number; content?: string; useBase64Encoding?: boolean; } /** * Detailed information about a specific capability, */ export interface CapabilityDetails { /** * The Capability. */ capability: ValueAndLabel; /** * The container type of the Capability */ conType?: ValueAndLabel; /** * The index for the current value of the Capability */ curIndex?: number; /** * The current value of the Capability */ curValue?: ValueAndLabel | string | number | Frame; defValue?: ValueAndLabel | string | number | Frame; maxValue?: number; minValue?: number; stepSize?: number; enums?: ValueAndLabel[] | any[]; /** * The available values of the Capability */ values?: ValueAndLabel[] | any[]; /** * The index for the default value of the Capability */ defIndex?: number; /** * The operation types that are supported by the Capability. Types include {"get", "set", "reset" "getdefault", "getcurrent"} */ query?: string[]; /** * The value type of the Capability. Value types include * TWTY_BOOL: 6 * TWTY_FIX32: 7 * TWTY_FRAME: 8 * TWTY_INT8: 0 * TWTY_INT16: 1 * TWTY_INT32: 2 * TWTY_STR32: 9 * TWTY_STR64: 10 * TWTY_STR128: 11 * TWTY_STR255: 12 * TWTY_UINT8: 3 * TWTY_UINT16: 4 * TWTY_int: 5 */ valueType?: ValueAndLabel; } export interface ValueAndLabel { /** * Numeric representation of the item */ value?: DynamsoftEnumsDWT.EnumDWT_Cap | DynamsoftEnumsDWT.EnumDWT_CapType | DynamsoftEnumsDWT.EnumDWT_CapValueType | number; /** * Label or name of the item */ label?: string; [key:string]:any; } export interface Capabilities { /** * Whether to "ignore" or "fail" the request if an exception occurs. This is an overall setting that is inherited by all capabilities. */ exception: string; /** * Specifies how to set capabilities */ capabilities: CapabilitySetup[]; } export interface CapabilitySetup { /** * Specify a capability */ capability: DynamsoftEnumsDWT.EnumDWT_Cap | number; /** * The value to set to the capability or the value of the capability after setting. */ curValue?: number | string | object; values?:any[]; errorCode?: number; errorString?: string; /** * Whether to "ignore" or "fail" the request if an exception occurs when setting this specific capability. */ exception?: string; } export interface ServiceInfo { server: string; // same to serverUrl, user input attrs?: any; } export interface Device { name: string; displayName: string; deviceType: DynamsoftEnumsDWT.EnumDWT_DeviceType; serviceInfo?: ServiceInfo; deviceInfo?: any; } export interface Frame{ left:number, top:number, right:number, bottom:number, }