The package provides Node.js APIs for invoking the Dynamic Web TWAIN Service REST API. It helps developers create desktop or server-side document scanning and processing applications with ease.
-
🖨️ Multi-Driver Support
- TWAIN (32-bit & 64-bit)
- WIA (Windows Image Acquisition)
- SANE (Scanner Access Now Easy)
- ICA (Image Capture Architecture)
- eSCL (AirScan/Mopria)
- Wi-Fi Direct
-
🌐 Cross-Platform Compatibility
- Windows 7+
- macOS 10.15+
- Linux (x64 / ARM64 / MIPS64)
- Windows: Dynamsoft-Service-Setup.msi
- macOS: Dynamsoft-Service-Setup.pkg
- Linux:
Request a free trial license for the Dynamic Web TWAIN Service.
After installation, open http://127.0.0.1:18625/ in your browser to configure the host and port settings.
By default, the service is bound to
127.0.0.1. To access it across the LAN, change the host to your local IP (e.g.,192.168.8.72).
https://www.dynamsoft.com/web-twain/docs/info/api/restful.html
-
getDevices(host, scannerType)
Get available scanners. Returns an array of devices. -
createJob(host, parameters)
Create a new scan job. Returns a job object. -
checkJob(host, jobId)
Check job status (e.g., running, canceled, etc.) -
deleteJob(host, jobId)
Delete a scan job and terminate scanning. -
updateJob(host, jobId, parameters)
Update job status (e.g., cancel a running job). -
getScannerCapabilities(host, jobId)
Get scanner capabilities like resolution, color modes.
-
getImageFile(host, jobId, directory)
Fetch one image and save to local disk. -
getImageFiles(host, jobId, directory)
Fetch all images for a job and save to local disk. -
getImageStream(host, jobId)
Fetch one image as a readable stream. -
getImageStreams(host, jobId)
Fetch all images as streams. -
getImageInfo(host, jobId)
Retrieve metadata of the next page.
-
createDocument(host, parameters)
Create a new empty document (PDF). -
getDocumentInfo(host, docId)
Get document metadata and structure. -
deleteDocument(host, docId)
Delete an existing document. -
getDocumentFile(host, docId, directory)
Download the document and save as a PDF. -
getDocumentStream(host, docId)
Download document as a stream. -
insertPage(host, docId, parameters)
Insert a new page into an existing document. -
deletePage(host, docId, pageId)
Remove a page from an existing document.
The configuration follows Dynamsoft Web TWAIN DeviceConfiguration.
let parameters = {
license: "LICENSE-KEY",
device: devices[0].device,
config: {
IfShowUI: false,
PixelType: 2, // Color
Resolution: 200,
IfFeederEnabled: false,
IfDuplexEnabled: false
}
};Set the LICENSE-KEY before running the examples.



