Pull to refresh

AIR 2.0. Работа со сканером

Reading time2 min
Views1.3K
Как известно, Adobe AIR не имеет своего собственного интерфейса для работы со сканером. А иногда так надо…

Ниже представлен костыль, чтобы это исправить.

Нам нужно:
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.
Tags:
Hubs:
Total votes 6: ↑1 and ↓5-4
Comments6

Articles