Вход | Регистрация


Сканирование через компоненту twain

Сканирование через компоненту twain
Я
   unknown181538
 
04.10.16 - 21:28
Нужно сделать сканирование документов сканером. Конфигурация на обычных формах. Ранее работал 1CScan.dll, но на 64 разрядной винде не удалось его запустить.
Из конфигурации Документооборот сканирование происходит успешно. Но когда я пытаюсь вытащить от туда код, то возникают проблемы.

    ИмяПараметра = "СтандартныеПодсистемы.КомпонентаTwain";
    //Если ПараметрыПриложения["СтандартныеПодсистемы.КомпонентаTwain"] = Неопределено Тогда

    КодВозврата = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаTWAIN", "twain", ТипВнешнейКомпоненты.Native);
    
Если КодВозврата Тогда
        Сообщить(НСтр("ru = 'Компонента сканирования уже установлена.'"));
            //РаботаСФайламиКлиент.ВернутьРезультат(ОбработчикРезультата, Истина);

            //Возврат;

        Иначе
            
            ПараметрыВыполнения = Новый Структура;
    ОбработчикРезультата = Новый ОписаниеОповещения("УстановитьКомпонентуСканированияЗавершение", ЭтотОбъект);
            ПараметрыВыполнения.Вставить("ОбработчикРезультата", ОбработчикРезультата);
            Обработчик = Новый ОписаниеОповещения("УстановитьКомпонентуЗавершение", ЭтотОбъект, ПараметрыВыполнения);
            НачатьУстановкуВнешнейКомпоненты(Обработчик, "ОбщийМакет.КомпонентаTWAIN");
            Возврат Ложь;
        КонецЕсли;
    
    //Если Не КодВозврата Тогда

    //    Возврат Ложь;

    //КонецЕсли;

    
    ПараметрыП = Новый Соответствие;
    ПараметрыП.Вставить(ИмяПараметра, Новый("AddIn.twain.AddInNativeExtension"));
    //КонецЕсли;

    
    СтрокаУстройств = ПараметрыП["СтандартныеПодсистемы.КомпонентаTwain"].ПолучитьУстройства();
    Массив = Новый Массив;
    Для Индекс = 1 По СтрЧислоСтрок(СтрокаУстройств) Цикл
        Строка = СтрПолучитьСтроку(СтрокаУстройств, Индекс);         
        Массив.Добавить(Строка);
    КонецЦикла;    
    //Для Каждого Строка Из Массив Цикл

    //    СписокУстройств.Добавить(Строка);

    //КонецЦикла;

    ВыбранноеУстройство = Массив[0];
    
    КомпонентаТВЭЙН = ПараметрыП["СтандартныеПодсистемы.КомпонентаTwain"];
    //.ПолучитьНастройку(ИмяУстройства, ИмяНастройки);

    ПараметрСжатие = 100;
    
    Разрешение  = КомпонентаТВЭЙН.ПолучитьНастройку(ВыбранноеУстройство, "XRESOLUTION");
    Цветность   = КомпонентаТВЭЙН.ПолучитьНастройку(ВыбранноеУстройство, "PIXELTYPE");
    Поворот      = КомпонентаТВЭЙН.ПолучитьНастройку(ВыбранноеУстройство, "ROTATION");
    РазмерБумаги = КомпонентаТВЭЙН.ПолучитьНастройку(ВыбранноеУстройство, "SUPPORTEDSIZES");
    Поворот = 0;
    ДвустороннееСканированиеЧисло = КомпонентаТВЭЙН.ПолучитьНастройку(ВыбранноеУстройство, "DUPLEX");
    ДвустороннееСканирование = Ложь;
    ПараметрыП["СтандартныеПодсистемы.КомпонентаTwain"].НачатьСканирование(
    Истина, ВыбранноеУстройство, "JPG", 
    Разрешение, Цветность, Поворот, РазмерБумаги, 
    ПараметрСжатие,
    ДвустороннееСканирование);
    
    
    
    Возврат Истина;
В документообороте, после вызова метода НачатьСканировать начинает работать сканер, появляется прогресс-бар, и результат попадает в процедуру ВнешнееСобытие. В моей конфигурации ничего не происходит и не выдается ошибка. Даже сделал обработку с управляемой формой, но не помогло и это.
В чем проблема, и какие есть варианты решения? Кто-нибудь писал обработки для twain?
 
 
   Злопчинский
 
1 - 04.10.16 - 22:14
На ИС есть обработки
   oleg_km
 
2 - 04.10.16 - 22:30
Пользую WIA https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms630368(v=vs.85).aspx

, работает и под x64, нужно только свежие дрова от сканера поставить, и у меня поставился и x64 и x86 версия
   Garykom
 
3 - 04.10.16 - 22:56
Если сканер SANE совместимый (http://www.sane-project.org/sane-supported-devices.html) то все банально
   unknown181538
 
4 - 05.10.16 - 00:38
(2) WIA, сколько помню, не подошел тем, что не видит сканер, переброшеный по RDP
   unknown181538
 
5 - 05.10.16 - 01:46
(1) не нашел ничего подходящего. Разве что для УФ. Буду такую пробовать.
Вообще, вк для twain из документооборота должна работать в конфигурации на обычных формах?
   Torquader
 
6 - 05.10.16 - 01:59
(4) Начнём с того, что по RDP сканеры вообще не пробрасываются. Чтобы его пробросить нужно на клиента поставить программу (Dll) и организовть виртуальный канал для передачи данных, чтобы на сервере уже можно было что-то получить.
Есть отдельные специальные программы для этого и они не бесплатные.
   unknown181538
 
7 - 05.10.16 - 15:13
(6) Ну сканер уже проброшен, я не знаю точно, каким способом.
   oleg_km
 
8 - 05.10.16 - 15:48
Там же как-то USB-порты пробрасываются. Не делал в RDP, не люблю его, ничем не могу подсказать.

по WIA из (2) уже больше 4-х лет работает, все что нужно сканируется прямо в базу, даже кладовщик вычерки просто сканирует, а бухгалтер уже проводит. Все внутри 1С, никаких лишних кнопочек.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует