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 г.