true-twain
v0.0.12
Published
A TWAIN library for nodejs.
Readme
node-twain
A nodejs library for TWAIN using node-addon-api.
此项目处在开发阶段。目前开发者手头已经没有扫描仪了,已经搁置了开发进程。
如果有人可以捐助一台扫描仪,开发者会考虑继续维护。
目前TWAIN官方没有提供Mac版本的server端。所以没办法进一步支持Mac
NOTE: Project is under develop. PR is welcomed, any issue is welcomed.
Installation
$ npm install node-twain
Twain flow

Usage
import {twain} from "node-twain"
const app = new twain.TwainSDK( {
productName: "productName!",
productFamily: "productFamily!",
manufacturer: "manufacturer!",
version: {
country: twain.TWCY_CHINA,
language: twain.TWLG_CHINESE,
majorNum: 1,
minorNum: 1,
info: "v0.0.1",
}
})
const sources = app.getDataSources() // ["PaperStream IP SP-1120N #2"]
const defaultSource = app.getDefaultSource() // "PaperStream IP SP-1120N #2"
app.setDefaultSource(sources[0]) //set which scanner to work
await app.openDataSource(defaultSource) //args
const enumTest = app.getCapability(twain.ICAP_XFERMECH) // Enum
const oneValueTest = app.getCapability(twain.CAP_AUTHOR) // one value
const rangeTest = app.getCapability(twain.ICAP_JPEGQUALITY) // range
const arrayTest = app.getCapability(twain.CAP_SUPPORTEDCAPS) // array
session.setCallback()
app.scan(twain.TWSX_FILE, fileName); //fileName:Full pathData Source Support
According to twain‘s github, Data Source Manager looks for data sources in
|OperaSystem|directory| |---|---| |windows|C:\Windows\twain_32 C:\Windows\twain_32| |Linux | /usr/local/lib/twain| |MacOS| /Library/Image Capture/TWAIN Data Sources|
Install your scanner driver and confirm whether your scanner support TWAIN or not.
License
MIT License. See the LICENSE file.
Setup Develop Environment
Windows
Python is required for node-gyp is used to build package.
Vitual Studio is required.
Steps
- Confirm Twain Datasource Manage is supported. Checkout this directory:
C:\Windows\System32If there is no file "TWAINDSM.dll", copy the "TWAINDSM.dll" file into the System32 directory.
- Confirm the scanner driver is installed. For example, my scanner is SP-1120N.
PS: The scanner MUST support TWAIN protocal.

- Run the test script
npm run testThis command will search *.test.js, then run the twain.test.js script.
