Как известно, Adobe AIR не имеет своего собственного интерфейса для работы со сканером. А иногда так надо…
Ниже представлен костыль, чтобы это исправить.
Нам нужно:
1- какая-либо command-line утилита для работы с twain
-я написал себе сам на c#, в этом нет ничего сложного
-а можно было воспользоваться утилитой quickscan (она к несчастью платная, но для некоторых подойдет и демка)
2- модифицировать *.xml файл с настройками проекта, прописав в нем
extendedDesktop desktop
3- добавить функцию twain()
Ниже представлен костыль, чтобы это исправить.
Нам нужно:
1- какая-либо command-line утилита для работы с twain
-я написал себе сам на c#, в этом нет ничего сложного
-а можно было воспользоваться утилитой quickscan (она к несчастью платная, но для некоторых подойдет и демка)
2- модифицировать *.xml файл с настройками проекта, прописав в нем
extendedDesktop desktop
3- добавить функцию twain()
private function twain():void{
var fileExec:File=new File('c:\\scan.exe'); //Здесь прописывается путь до модуля работы с twain
var process:NativeProcess;
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = fileExec;
var processArgs:Vector. = new Vector.(); //Прописываем параметры командной строки
processArgs[0] = "SelectScanner"; //Открыть окно выбора сканера при старте
processArgs[1] = "Resolution"; //Установить разрешение в 300dpi
processArgs[2] = "300"; //Все параметры прописаны для quickscan, да и задавать их может пользователь
nativeProcessStartupInfo.arguments = processArgs;
process = new NativeProcess();
process.addEventListener(NativeProcessExitEvent.EXIT,workWithImg); //Добавляем прослушку на завершение программы, чтобы забрать изображение
process.start(nativeProcessStartupInfo); //Запускаем сканирование
}
private function workWithImg():void {
//Обрабатываем изображение, перекладываем его
//Для quickscan изображение будет иметь имя page001.jpg и лежать в той же папке, что и exe
}
* This source code was highlighted with Source Code Highlighter.
Не совсем стандартный метод, но таким образом можно получить скан
с минимальными временными затратами.
Статья моего друга.
Автор: Morozov&Sheko inc.