Сервис преобразования предназначен для объединения изображений в многостраничный 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 |