Картинка - Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

Арт.: 1233136

Продано: 90

TestScan.png
TwainDlg.png
TestScan.png
TwainDlg.png
Лицензии

5 084 руб.

Техподдержка и обновления

3 660 руб.

3 660 руб.

Общее описание

В составе БСП есть отличная компонента для работы со сканерами. Но основная ее проблема — это отсутствие поддержки 64-разрядной платформы. Решили исправить это ограничение, написав версию компоненты, т.к. уже есть опыт работы с PDF (Внешняя компонента печати PDF (Native Win 32/64)), заодно решили добавить поддержку этого формата. Работа с PDF основана на проекте PDFium из состава проекта Chromium/Chrome, для работы с TWAIN использован свободный проект twpp https://github.com/xricht17/twpp. https://github.com

Компонента полностью совместима с вызовами оригинальной компоненты из БСП, что позволяет легко и просто использовать ее как замену стандартной компоненты без всяких доработок.

В отличие от оригинальной данная компонента позволяет работать и в режиме сервера (если есть такая потребность), т.к. в нее добавлена функция, которая не использует внешние события, впрочем эту функцию удобно использовать и на клиенте через асинхронные вызовы, чтобы опять же не использовать внешние события.

Для подключения компоненты используются стандартные методы УстановитьВнешнююКомпоненту() на Клиенте в синхронном режиме, ПодключитьВнешнююКомпоненту() на Сервере или на Клиенте в синхронном режиме, и НачатьУстановкуВнешнейКомпоненты() и НачатьПодключениеВнешнейКомпоненты() на Клиенте в асинхронном режиме вызовов.

Перед началом работы на стороне клиента в асинхронном режиме необходимо вызвать установку компоненты:

НачатьУстановкуВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты);

Далее необходимо ее подключить и можно вызывать ее методы:

НачатьПодключениеВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты, "ScanAddIn");

Примерный код использования компоненты на стороне Клиента в асинхронном режиме может выглядеть так:

Перем мКомпонента;

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

&НаКлиенте
Процедура СканироватьПродолжение(КомпонентаПодключена, ДополнительныеПараметры) Экспорт	
	
	Если НЕ КомпонентаПодключена Тогда
		Возврат;
	КонецЕсли;
	
	Если мКомпонента = Неопределено Тогда
		мКомпонента = Новый("AddIn.ScanAddIn.AddInNativeExtension");
	КонецЕсли;		
		
	мКомпонента.НачатьВызовСканировать(Новый ОписаниеОповещения("СканироватьЗавершение", ЭтотОбъект),
		ПоказыватьДиалог, 
		Устройство, 
		Формат, 
		Разрешение, 
		Цветность, 
		Поворот, 
		РазмерБумаги, 
		?(Формат = "TIF", СжатиеTIFF, КачествоJPEG), 
		ДвустороннееСканирование, 
		Путь, 
		Многостраничность); 

КонецПроцедуры	

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

&НаКлиенте
Процедура УстановитьКомпонентуЗавершение(ОбработчикРезультата) Экспорт
	
	НачатьПодключениеВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты, "ScanAddIn");		
	
КонецПроцедуры

Состав поставки

После покупки на почту придет файл архив.

В публикации на вкладке «Бесплатные файлы» представлены следующие дополнения:

  • расширение  Сканирование64.cfe, которое позволяет использовать данную компоненту практически в любой конфигурации, использующей БСП, без внесения изменений в основную конфигурацию и не снимая типовую конфигурацию с поддержки (в расширении отсутствует компонента, поэтому ее нужно загрузить в макет Скан64_КомпонентаTWAIN после покупки).
  •  обработка TestScan.epf, демонстрирующая функциональность данной компоненты (в обработке так же отсутствует компонента, поэтому ее нужно загрузить в макет после покупки).

Компонента работает как на x86, так и x86_64 платформах, в режиме Сервера, Тонкого клиента и Веб-клиента (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer), распространяется в виде пакетного файла, который содержит в себе все версии компоненты.

Методы:

Версия / Version() — вернет строку с описанием версии.

ВыбратьУстройство / SelectDevice() — откроет диалог (средствами драйвера TWAIN) и вернет строку с именем устройства.

НачатьСканирование / BeginScan(ОткрыватьДиалог, Устройство, Формат, Разрешение, Цветность, Поворот, РазмерБумаги, СжатиеКачество, ДвустороннееСканирование, Путь, Многостраничность) — выполнит сканирование и сохранит файл на диск, вернет Истина, если не было ошибок. Генерирует внешние события при получении изображения, завершении сканирования или прерывании пользователем (описаны ниже). Если ОткрыватьДиалог = Истина, то откроет диалог сканирования (поставляемый драйвером сканера) с возможностью настроек сканирования.

Параметры:
ОткрыватьДиалог (Булево) — обязательный, определяет показывать диалог устройства или нет
Устройство (Строка) — обязательный, имя устройства
Формат (Строка) — необязательный, формат сохранения картинки, принимает значения:
 PNG (по умолчанию);
 JPG;
 BMP;
 GIF;
 TIF;
 PDF;
Разрешение (Число) — необязательный, разрешение DPI, например 200
Цветность (Число) — необязательный, принимает значения 0 (черно-белое), 1 (оттенки серого), 2 (цветное)
Поворот (Число) — необязательный, угол поворота в градусах, допустимы значения 0, 90, 180, 270, не все сканеры поддерживают эту настройку
РазмерБумаги (Число) — необязательный, не все сканеры поддерживают эту настройку, принимает значения:
 0 (не задано);
 11 (А3);
 1 (А4);
 5 (А5);
 6 (B4);
 2 (B5);
 7 (B6);
 14 (C4);
 15 (C5);
 16 (C6);
 3 (USLetter);
 4 (USLegal);
 10 (USExecutive).
СжатиеКачество (Число) — необязательный, для формата JPG сюда передается качество (от 1 до 100, 100 – максимальное качество и максимальный размер, по умолчанию - 75), для формата TIF – сжатие, значения:
 2 – LZW (по умолчанию);
 3 – CCITT3;
 4 – CCITT4;
 5 – RLE;
 6 – без сжатия.
ДвустороннееСканирование (Булево) — необязательный, определяет режим сканирования с двух сторон, не все сканеры поддерживают эту настройку
Путь (Строка) — необязательный, определяет каталог, в котором будут сохранятся файлы, если не указан или указана пустая строка, то используется каталог временных файлов ОС
Многостраничность (Булево) — необязательный, для форматов PDF и TIF определяет возможность сохранять отсканированные страницы в один файл

Сканировать / Scan(ОткрыватьДиалог, Устройство, Формат, Разрешение, Цветность, Поворот, РазмерБумаги, СжатиеКачество, ДвустороннееСканирование, Путь, Многостраничность) — выполнит сканирование и сохранит файл на диск, вернет список всех отсканированных файлов, разделенных «*», если не было ошибок, если были ошибки, то вернёт «Неопределено». В отличие от функции «НачатьСканирование» не генерирует внешние события. Параметры полностью соответствуют функции «НачатьСканирование».

ЕстьУстройства / IsDevicePresent() — вернет Истина, если есть хоть одно TWAIN-устройство.

ПолучитьУстройства / EnumDevices() — вернет список доступных устройств в виде текстовых строк, разделенных разделителем (переводом строк).

Тест / Test() — то же, что «НачатьСканирование», но не обращается к TWAIN-драйверу, а сразу генерирует события, используется для тестирования.

ПолучитьНастройку / GetSetting(Устройство, Настройка) — возвращает значение указанной настройки (Число).

Параметры:
Устройство (Строка) — обязательный, имя устройства
Настройка (Строка) — обязательный, имя настройки, возможные значения:

  • XRESOLUTION (разрешение – DPI);
  • PIXELTYPE (цветность);
  • ROTATION (поворот);
  • SUPPORTEDSIZES (размер бумаги);
  • DUPLEX (двустороннее сканирование).

ОбъединитьВМногостраничныйФайл / CombineToMultipageFile(СтрокаВсехПутей, ФайлРезультата, НеИспользуется) — объединяет несколько изображений в один многостраничный файл (TIF или PDF).

Параметры:
СтрокаВсехПутей (Строка) — обязательный, пути ко все файлам изображений, разделенные символом «*»
ФайлРезультата (Строка) — обязательный, путь к результирующему файлу (TIF или PDF)
НеИспользуется (Любой) — необязательный, сохранен для совместимости

РазделитьМногостраничныйФайл / SplitMultipageFile(ИмяВходногоФайла, НеИспользуется, Разрешение, ФорматВыходныхФайлов, ПутьРезультата) — разделяет многостраничный файл (TIF или PDF) на несколько изображений.

Параметры:
ИмяВходногоФайла (Строка) — обязательный, путь к многостраничному файлу (TIF или PDF)
НеИспользуется (Любой) — необязательный, сохранен для совместимости
Разрешение (Число) — необязательный, разрешение выходных изображений (только для PDF), по умолчанию 150
ФорматВыходныхФайлов (Строка) — необязательный, разрешение выходных изображений, принимает те же значения, что и формат для сканирования, по умолчанию PNG
ПутьРезультата (Строка) — необязательный, путь к каталогу, куда будут сохранены выходные изображения, по умолчанию тот же каталог хранения входного файла

Внешние события:

Источник = TWAIN, событие = ImageAcquired — генерируется методом «НачатьСканирование» при получении каждого изображения, в параметре Данные передается полный путь к файлу изображения.

Источник = TWAIN, событие = EndBatch — генерируется методом «НачатьСканирование» при окончании сканирования.

Источник = TWAIN, событие = UserPressedCancel — генерируется методом «НачатьСканирование», когда пользователь нажал Отмена в стандартном диалоге сканирования (поставляемом производителем сканера).

 

Важно

Компонента помещается в макет целиком, в виде архива, распаковывать архив и устанавливать из него ничего не нужно.

В асинхронном режиме вызовы методов должны выполняться через НачатьВызов, например:

Компонента.НачатьВызовСканировать(Новый ОписаниеОповещения("СканироватьЗавершение", ЭтотОбъект),
		ПоказыватьДиалог, 
		Устройство, 
		Формат, 
		Разрешение, 
		Цветность, 
		Поворот, 
		РазмерБумаги, 
		?(Формат = "TIF", СжатиеTIFF, КачествоJPEG), 
		ДвустороннееСканирование, 
		Путь, 
		Многостраничность);

Техническая поддержка и обновления

Бесплатный период техподдержки составляет 1 месяц после покупки.

Также после приобретения вы получаете 1 месяц бесплатных обновлений.

По окончании бесплатного периода вы можете приобрести услугу технической поддержки с доступом к обновлениям на платной основе.

Проверить наличие обновлений можно в личном кабинете. Если обновления недоступны - загрузить новую версию можно после покупки обновлений/технической поддержки.

Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.

При создании тикета необходимо предоставить:

  1. Номер заказа
  2. Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
  3. Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.

К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.

 

Техподдержка
 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.8.464
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.130.22
  • Управление нашей фирмой, редакция 1.6, релизы 1.6.26.213
Статистика:
Просмотры 34685
Загрузки 147
Рейтинг 103
Создание 12.05.20 18:16
Обновление 08.06.25 19:11
№ Публикации 1233136
Характеристики:
Теги

обработка сканирование scan сканер TWAIN PDF

Рубрики Разработка внешних компонент
Кому Разработчик
Тип файла Компонента, плагин (dll, vbs,..)
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия ,
1С:Управление нашей фирмой 1.6 ,
1С:Бухгалтерия 3.0
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Нет
Наименование Файл Версия Размер
Тестовая обработка (УФ) .epf 1.1 28,53Kb 264 Скачать
Расширение конфигурации (не включает компоненту, без тех. поддержки) .cfe 9,47Kb 29 Скачать

См. также

IDE для 1С

Десктопная IDE для разработчиков 1С: проводник CF/CFE/EPF/ERF, редактор с вкладками и проверкой синтаксиса, ИИ-панель (Ollama на ПК или облако по ключу из кабинета).

6551 руб.

Внешняя компонента GraphQL клиент для 1С

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

5000 руб.

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в ...

7320 руб.

«UniServer AUTO: WeightIndicator» - универсальный драйвер весового индикатора

Универсальный драйвер весового индикатора «UniServer AUTO: WeightIndicator» предназначен для подключения весовых индикаторов автомобильных, вагонных , платформенных весов любых производителей к различным конфигурациям 32-х или 64-х разрядны...

10980 руб.

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4514 руб.

Внешняя компонента печати PDF (Native Win 32/64)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

5084 руб.

Внешняя компонента для подключения 1С к телефонии Asterisk API

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод зво...

5246 руб.

GGraphics - внешняя компонента для работы с картинками jpg (jpeg), png, bmp, gif, tif

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, к...

5094 руб.