Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Сервис преобразования предназначен для объединения изображений в многостраничный TIFF-файл при захвате документов, полученных со сканера. Обращаться к сервису можно через сценарий на ISBL или VB Script.

При захвате документы попадают в систему DIRECTUM в виде единого многостраничного TIFF-файла согласно настройкам по умолчанию. Данная операция выполняется службой ввода документов.

Для уменьшения размера получаемого TIFF-файла можно использовать настройки службы преобразования, например, метод сжатия, цветность.

Алгоритм работы сервиса:

1.На вход сервису передается SOAP-пакет, который содержит исходные файлы. Сервис работает с файлами в форматах TIFF, JPG, BMP и PNG. Если на вход сервису поступает многостраничный TIFF-файл, то сначала такой файл разделяется на отдельные страницы, которые будут обрабатываться как отдельные файлы наравне с остальными файлами в пакете.
2.Сервис преобразует полученные файлы в соответствии с настройками сжатия и цветности. Настройки сервиса задаются в файле DctsTransformationService.exe.config.
3.Сервис возвращает многостраничный TIFF-файл, созданный на основе исходных файлов.

Для работы с сервисом можно использовать сценарий, который будет формировать SOAP-пакет из исходных файлов, вызывать сервис, передавать ему пакет и получать результат работы. Сценарию передаются параметры:

InputFilesList. Имя текстового файла, который содержит список файлов для группировки в многостраничный TIFF;
OutputFileName. Имя итогового TIFF-файла.

Свернуть/развернуть пример Пример

// Объявление констант.

ADO_BINARY_TYPE           = 1

ADO_READ_ALL              = -1

ADO_SAVE_CREATE_OVERWRITE = 2

// Получить параметры сценария.

Params = Object.Params

InputFilesList = Params.ValueByName('InputFilesList')

OutputFileName = Params.ValueByName('OutputFileName')

DctsConvertToTIFFWSDL = GetAssignedConst("DctsConvertToTIFFWSDL")

// Получить исходные файлы.

InputFiles = ФайлСчитать(InputFilesList)

Count = SubStringCount(InputFiles; CR)

Count = IfThen(Count < 1; 1; Count)

InputFilesArrray = CreateArray(1; Count)

I = 1

foreach FileName in CSubString(InputFiles; CR)

  ADOStream = CreateObject("ADODB.Stream")

  ADOStream.Type = ADO_BINARY_TYPE

  ADOStream.Open()

  ADOStream.LoadFromFile(FileName)

  InputFilesArrray[I] = ADOStream.Read(ADO_READ_ALL)

  ADOStream.Close()

  I = I + 1

endforeach

// Инициализировать подключение к сервису.

SoapClient = CreateObject("MSSOAP.SoapClient30")

SoapClient.MSSoapInit(DctsConvertToTIFFWSDL)

// Установить тайм-аут выполнения запроса.

ExecutionTimeout = КонстЗнач("DctsExecutionTimeout")

SoapClient.ConnectorProperty("Timeout") = ExecutionTimeout

// Выполнить преобразование в TIFF.

ConvertResult = SoapClient.ConvertImages(InputFilesArrray)

// Сохранить преобразованный файл.

ADOStream = CreateObject("ADODB.Stream")

ADOStream.Type = ADO_BINARY_TYPE

ADOStream.Open()

ADOStream.Write(ConvertResult)

ADOStream.SaveToFile(OutputFileName; ADO_SAVE_CREATE_OVERWRITE)

ADOStream.Close()

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }