Алгоритм работы:
1. На входе:
-
- Массив полных путей к файлам-изображениям (по отношению к клиентской части даже для клиент-серверного варианта работы)
- Имя принтера для печати (Необязательно. Если пустое, то подставляется принтер по-умолчанию)
- Флаг использования сжатия (при подготовке файлов к печати они конвертируются в .tif со сжатием или без, использование сжатия уменьшает трафик для сетевого принтера, но возможно ухудшение качества)
2. Во временной папке создается/находится приложение IrfanView и ini-файл настроек
3. Во временной папке создается еще одна папка и туда конвертируются все файлы для печати. Конвертирование происходит в черно-белый .tif . При использовании сжатия файлы весят в 10 раз меньше исходных (примерно, исходные были jpegи), без сжатия больше в 8-25 на тех же файлах
4. Подается команда печать папки и управление переходит драйверам принтера
5. Удаляется папка с tifами
Обработка выполнена под 8.2. Для работы в упр. режиме можно открыть как внешнюю обработку, в обычном нужно прикрутить к конфигурации.
Пример вызова из конфы:
Процедура ПечатьИзображений( пМассивИзображений , пИмяПринтера , пИспользоватьСжатие = Истина )
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("МассивИзображений", пМассивИзображений);
ПараметрыФормы.Вставить("ИмяПринтера", пИмяПринтера);
ПараметрыФормы.Вставить("ИспользоватьСжатие", пИспользоватьСжатие);
ОткрытьФорму("Обработка.ксПечатьИзображений.Форма.Форма", ПараметрыФормы);
КонецПроцедуры