Dynamic Web TWAIN SDK v15.2 содержит набор новых API для классификации изображений по тегам. В этой статье я расскажу, как использовать новейшие API-интерфейсы JavaScript для реализации простого веб-приложения для управления документами с нуля.

Создание приложения для управления документами на JavaScript

Создайте файл HTML и включите библиотеку JavaScript Dynamic Web TWAIN:

<script type="text/javascript" src="https://unpkg.com/dwt/dist/dynamsoft.webtwain.min.js"> </script>

При первом запуске страницы вам будет предложено установить службу Dynamsoft для Windows, Linux или macOS. После завершения установки обновите веб-страницу.

Загрузка динамического веб-TWAIN

Создайте элемент div в качестве средства просмотра изображений. По умолчанию SDK ищет ‹div id="dwtcontrolContainer"›‹/div› и автоматически создает его экземпляр.

Инициализируйте компонент Dynamic Web TWAIN:

window.onload = function () {
if (Dynamsoft) {
// Get a valid trial license from https://www.dynamsoft.com/CustomerPortal/Portal/Triallicense.aspx
Dynamsoft.WebTwainEnv.ProductKey = 't0126vQIAAGQTYLHjoyjiQ1AsFej37+JgaOeak1T7qjI1MfE2+F9KMLLf9buTDIQAxXItiLN1l7Uj0UZ+bb3OWW78Nci9DawpTRySA2ZkjhhGe7tyM+nDFHndJZ05weNCttEBk2xDM4+id3uEnfk2OmCSbWjm+c8csoin5B18WYul';
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', onDWTReady);
Dynamsoft.WebTwainEnv.Load();
}
};

В функции обратного вызова onDWTReady() получите экземпляр Dynamic Web TWAIN:

function onDWTReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}

Настройка параметров

Установите размер контейнера:

DWObject.Width = 480;
DWObject.Height = 640;

Установите тег по умолчанию для всех изображений:

DWObject.SetDefaultTag('default');

Получить список устройств:

let count = DWObject.SourceCount;
let select = document.getElementById("source");
for (let i = 0; i < count; i++) {
let source_name = DWObject.GetSourceNameItems(i);
let option = document.createElement('option');
option.value = i;
option.text = source_name;
select.appendChild(option);
}

Измените режим просмотра для отображения изображений столько, сколько хотите:

<select id="view" onchange="onViewChange()">
<option value="6">6x6</option>
<option value="5">5x5</option>
<option value="4">4x4</option>
<option value="3">3x3</option>
<option value="2">2x2</option>
<option value="1">1x1</option>
</select>
let view_select = document.getElementById('view');
DWObject.SetViewMode(view_select.value, view_select.value);

Пометка изображений

Сканировать документы в веб-контейнер:

function scanImage() {
if (!DWObject) return;
DWObject.IfDisableSourceAfterAcquire = true;
let bSelected = DWObject.SelectSource();
if (bSelected) {
let onSuccess, onFailure;
onSuccess = onFailure = function () {
DWObject.CloseSource();
};
DWObject.OpenSource();
DWObject.AcquireImage(onSuccess, onFailure);
}
}

Загрузите изображения из локальной файловой системы:

function uploadImage() {
if (!DWObject) return;
let onSuccess = function () { };
let onFailure = function (errorCode, errorString) { };
DWObject.IfShowFileDialog = true;
DWObject.LoadImageEx("", EnumDWT_ImageType.IT_ALL, onSuccess, onFailure);
}

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

let count = DWObject.SelectedImagesCount;
let indices = [];
for (let i = 0; i < count; ++i) {
indices.push(DWObject.GetSelectedImageIndex(i));
}

Добавьте пользовательские теги:

DWObject.TagImages(indices, tag.value);

Показать отмеченные изображения:

DWObject.FilterImagesByTag(tag.value);

Попробуйте приложение.

О динамическом веб-TWAIN

Dynamic Web TWAIN – это кроссплатформенный SDK для сканирования документов на основе браузера, специально разработанный для веб-приложений. С помощью всего нескольких строк кода JavaScript вы можете разрабатывать надежные приложения для веб-документов в Windows, Linux и macOS.

Исходный код

https://github.com/yushulx/веб-документ-управление

Первоначально опубликовано на https://www.codepool.biz 24 сентября 2019 г.