Сканирование, отображение документа, удостоверяющего личность вкладчика, через локальный файл, фотографирование клиента
Скачать (rar-файл; Размер - 253869)Обсудить в форуме
Описание
Данный DLM-модуль был разработан для сканирования документа, удостоверяющего личность вкладчика(сканер должен поддерживать TWAIN-стандарт) и сохранения его на докальном диске с последующим просмотром. Работает как в 2-х, так и в 3-х звенке.
Так же возможно использование DLM-модуля для фотографирования клиента(проверялось с использованием web-камеры Genius VideoCAM Slim USB2)
Функции включенные в модуль:
void fsfshow(put,codclient,fio,buttons,del_button) - функция отображения файла.
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла. Будут отображены все файлы по маске codclient*.jpg[.bmp]
string fio - подпись изображения
string buttons - признак отображения панели с кнопками(next,prev,delete), может быть "0" или "1"
string del_button - призанк отображения кнопки удаления, может быть "0" или "1"
void fsfprov(retval,put,codclient) - функция проверки наличия файла с именем
codclient в директории put
Параметры:
retval - возвращаемое значение
0 - файл есть
1 - есть хотя бы один файл удовлетворяющий маске codclient*.jpg[.bmp]
2 - директории нет
string put - каталог размещения файлов с изображениями
string codclient - имя файла
void fsfscan(put,codclient,retval) - функция сканирования изображения и его сохранение
в файл с именем codclient.jpg в директории put
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла
retval - возвращаемое значение
0 - подпись сосканирована
1 - TWAIN-устройство не подключено
2 - TWAIN-устройство не выбрано
3 - Отсутствует директория для сохранения
4 - В системе отсутствует TWAIN-устройство
07.03.2007
Скорректирована функция проверки наличия файла с изображением - fsfprov,
теперь проверяются наличие хотя бы одного файла, который в имени содержит
codclient.
Скорректирована обработка нажатия клавиши, на предмет изменения размеров окна.
04.09.2007
Реализована печать изображения по нажатию клавиши F7
Так же возможно использование DLM-модуля для фотографирования клиента(проверялось с использованием web-камеры Genius VideoCAM Slim USB2)
Функции включенные в модуль:
void fsfshow(put,codclient,fio,buttons,del_button) - функция отображения файла.
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла. Будут отображены все файлы по маске codclient*.jpg[.bmp]
string fio - подпись изображения
string buttons - признак отображения панели с кнопками(next,prev,delete), может быть "0" или "1"
string del_button - призанк отображения кнопки удаления, может быть "0" или "1"
void fsfprov(retval,put,codclient) - функция проверки наличия файла с именем
codclient в директории put
Параметры:
retval - возвращаемое значение
0 - файл есть
1 - есть хотя бы один файл удовлетворяющий маске codclient*.jpg[.bmp]
2 - директории нет
string put - каталог размещения файлов с изображениями
string codclient - имя файла
void fsfscan(put,codclient,retval) - функция сканирования изображения и его сохранение
в файл с именем codclient.jpg в директории put
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла
retval - возвращаемое значение
0 - подпись сосканирована
1 - TWAIN-устройство не подключено
2 - TWAIN-устройство не выбрано
3 - Отсутствует директория для сохранения
4 - В системе отсутствует TWAIN-устройство
07.03.2007
Скорректирована функция проверки наличия файла с изображением - fsfprov,
теперь проверяются наличие хотя бы одного файла, который в имени содержит
codclient.
Скорректирована обработка нажатия клавиши, на предмет изменения размеров окна.
04.09.2007
Реализована печать изображения по нажатию клавиши F7
Текст примера
содержимое макроса scaner.mac ложим в каталог рс-банка, куда прописаны пути import "filsign.d32"; import rsexts; /* Ф-я scansign выпоняет сканирование подписи клиента, сохранение ее в файл на локальном диске и отображает подпись для работы необходим dlm-модуль filsign.d32, содержащий ф-ии: fsfscan - сканирование, fsfprov - проверка существования подписи и каталога подписей, fsfshow -просмотр Возвращаемые значения ф-ей fsfscan: 0 - подпись сосканирована 1 - TWAIN-устройство не подключено 2 - TWAIN-устройство не выбрано 3 - Отсутствует директория для сохранения 4 - В системе отсутствует TWAIN-устройство Возвращаемые значения ф-ей fsfprov: 0 - файл есть 1 - файла нет 2 - директории нет */ macro scandoc(put,codclient,fio) var i,t,retval=0,mv; if(IsStandAlone()) fsfprov(t,put,"f"+codclient); if(t==0) if(MsgBoxEx("Документ клиента уже введен.\n Сканировать повторно?",MB_YES+MB_NO)==IND_YES) fsfscan(put,"f"+codclient,retval); end; elif(t==1) retval=fsfscan(put,"f"+codclient,retval); if(retval!=0) MsgBox("Ошибка сканирования № "+retval); else fsfshow(put,"f"+codclient,fio); end; elif(t==2) MsgBox("Отсутствует директория с подписями"); end; [Документ клиента отсканирован]; else t=CallRemoteRsl ("rtab.mac","_fsfprov",put,"f"+codclient); if(t==0) if(MsgBoxEx("Документ клиента уже введен.\n Сканировать повторно?",MB_YES+MB_NO)==IND_YES) retval=CallRemoteRsl ("rtab.mac","_fsfscan",put,"f"+codclient,fio); if(retval!=0) MsgBox("Ошибка сканирования № "+retval); else CallRemoteRsl ("rtab.mac","_fsfshow",put,"f"+codclient,fio); end; end; elif(t==1) retval=CallRemoteRsl ("rtab.mac","_fsfscan",put,"f"+codclient,fio); if(retval!=0) MsgBox("Ошибка сканирования № "+retval); else CallRemoteRsl ("rtab.mac","_fsfshow",put,"f"+codclient,fio); end; elif(t==2) MsgBox("Отсутствует директория с подписями"); end; [Документ клиента отсканирован]; end; end; /* Ф-я showdoc отображает отсканированный документ клиента из файла на локальном диске для работы необходим dlm-модуль filsign.d32 ф-я fsfshow проверяет наличие файла подписи клиента, к-й должен называться CodClient*.jpg[.bmp] если подпись состоит более чем из 1 файла, то необходимо включить кнопки навигации 3 параметр(0/1), для возможности удалять файлы включить 4 парметр(0/1) так же возможно увеличение/уменьшение изображения подписи при помощи клавиш +/- на дополнительной клавиатуре */ macro showdoc(put,codclient,fio) var t; if(IsStandAlone()) fsfprov(t,put,"f"+codclient); if(t==0) fsfshow(put,"f"+codclient,fio,"1","0"); elif(t==1) MsgBox("Отсутствует файл с подписями"); elif(t==2) MsgBox("Отсутствует директория с подписями"); end; [Графическая информация отображена]; else t=CallRemoteRsl ("rtab.mac","_fsfprov",put,"f"+codclient); if(t==0) CallRemoteRsl ("rtab.mac","_fsfshow",put,"f"+codclient,fio, "1","0"); elif(t==1) MsgBox("Отсутствует файл с подписями"); elif(t==2) MsgBox("Отсутствует директория с подписями"); end; [Графическая информация отображена]; end; end; содержимое макроса rtab.mac ложим его на терминал в каталог mac import "filsign.d32"; var r,i; macro _fsfshow(put,codclient,fio,pr_multi,pr_del) fsfshow(put,codclient,fio,pr_multi,pr_del); end; macro _fsfscan(put,codclient,r) r=0; fsfscan(put,codclient,r); return r; end; macro _fsfprov(put,codclient) r=0; fsfprov(r,put,codclient); return r; end; пример вызова: scandoc("\\\\uran\\bank\\filsign", "f100001_1"); scandoc("\\\\uran\\bank\\filsign", "f100001_2"); showdoc("\\\\uran\\bank\\filsign", "f100001", "Иванов И.И.");