Пакетная печать изображений с помощью IrfanView

27.09.10

Задачи пользователя - Пакетная печать

Встал вопрос с печатью большого количества изображений. Печать через наполнение табличного документа иногда приводила к падению 1Ски из-за нехватки памяти, после этого был выбран способ печати через IrfanView.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Файл обработки
.epf 501,24Kb
128
128 Скачать (1 SM) Купить за 1 850 руб.

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

1. На входе: 

  •  
    • Массив полных путей к файлам-изображениям (по отношению к клиентской части даже для клиент-серверного варианта работы)
    • Имя принтера для печати (Необязательно. Если пустое, то подставляется принтер по-умолчанию)
    • Флаг использования сжатия (при подготовке файлов к печати они конвертируются в .tif со сжатием или без, использование сжатия уменьшает трафик для сетевого принтера, но возможно ухудшение качества)

2. Во временной папке создается/находится приложение IrfanView и ini-файл настроек

3. Во временной папке создается еще одна папка и туда конвертируются все файлы для печати. Конвертирование происходит в черно-белый .tif . При использовании сжатия файлы весят в 10 раз меньше исходных (примерно, исходные были jpegи), без сжатия больше в 8-25 на тех же файлах

4. Подается команда печать папки и управление переходит драйверам принтера

5. Удаляется папка с tifами

 

Обработка выполнена под 8.2. Для работы в упр. режиме можно открыть как внешнюю обработку, в обычном нужно прикрутить к конфигурации.

 

Пример вызова из конфы: 

Процедура ПечатьИзображений( пМассивИзображений , пИмяПринтера , пИспользоватьСжатие = Истина )

 

    ПараметрыФормы = Новый Структура;

    ПараметрыФормы.Вставить("МассивИзображений", пМассивИзображений);

    ПараметрыФормы.Вставить("ИмяПринтера", пИмяПринтера);

    ПараметрыФормы.Вставить("ИспользоватьСжатие", пИспользоватьСжатие);

    ОткрытьФорму("Обработка.ксПечатьИзображений.Форма.Форма", ПараметрыФормы);

 

КонецПроцедуры

 

 

 

 

См. также

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    20445    52    19    

86

Печатные формы Пакетная печать Оптовая торговля Бухгалтер Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Мастер пакетной печати отгрузочных и товаросопроводительных документов. Продукт оптимизирован для алкогольной продукции. Поддерживает печатные формы ТОРГ-12, счет-фактура, разделы А и Б справки к ТТН, копии сертификатов, ТТН (1-Т), а также ТН (Приложение4). Все формы заполняются автоматически, а данные в полях формы (актуально для ТН и ТТН) сохраняются для каждого документа и не требуют заполнения при повторных открытиях. Предназначена для конфигурации "1С:Управление торговлей" , ред. 10.3, ред. 11.1, "1С:Бухгалтерия предприятия, ред. 3.0". Не требует изменений конфигурации. Печать суммы акциза в с/ф, УПД и справке А. Поддержка требований торговых сетей "Метро" и "Ашан".

8400 руб.

04.04.2013    130099    143    188    

112

Пакетная печать ККМ Кассовые операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Россия Бухгалтерский учет Платные (руб)

Предназначена для групповой печати чеков. Что печатать в теле чека описано в текстовом файле с разделителем запятая (CSV) Подходит для любого языка программирования который умеет записывать в текстовый файл

3600 руб.

26.07.2019    26018    39    17    

24

Пакетная печать Банковские операции Кассовые операции Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработка для групповой печати чеков ККМ с настройкой, загруженных из банковской выписки. На основании документа Поступление на расчетный счет!

4800 руб.

21.08.2019    20779    78    11    

25

Пакетная печать Документооборот и делопроизводство (СЭД) Оптовая торговля Печатные формы Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка содержит новую форму Транспортной накладной с 01.01.2021 г. (в ред. Постановления Правительства РФ от 30.11.2021 № 2116) В отличие от внешних печатных форм, подключаемых к документу реализации, позволяет вести отдельный журнал документов. Дополнительным преимуществом является возможность формирования документов за поставщика.

2280 руб.

15.04.2014    53973    54    51    

42

Пакетная печать Печатные формы Программист Пользователь Руководитель проекта 1С:Управление торговлей 10 Абонемент ($m)

Внешние печатные формы УПД, УКД (Универсальный передаточный/корректировочный документ) в редакции по постановлению №1096 начиная с 2024.10.01, поддерживающая вывод данных прослеживаемости для УТ 10.3

1 стартмани

30.09.2024    9621    682    zhuravlev_as    54    

7

Пакетная печать Печатные формы Системный администратор Программист Бухгалтер Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет Абонемент ($m)

Внешние печатные формы УПД (Универсальный передаточный документ), Счет-фактура (+ корректировочный) (+ "в валюте") в редакции постановления Правительства РФ №1096 от 01.10.2024 для 1С 8 Управление торговлей 11.5, Комплексная автоматизация, Управление предприятием ERP 2.5 для документов вида "Реализация товаров и услуг", "Счет-фактура (выданный)". С данными прослеживаемости.

1 стартмани

27.09.2024    5548    421    zhuravlev_as    33    

8

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    4893    80    progmaster    11    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Stepa86 1532 27.09.10 11:02 Сейчас в теме
ЗЫ Аккуратней с лицензией на IrfanView :!:
2. v.l. 437 27.09.10 17:10 Сейчас в теме
Опоздал я.
В нашей базе такая штука печати сертификатов с февраля работает.
Запускается Ирфан с именем файла сертификата в параметре командной строки.
3. Stepa86 1532 27.09.10 17:16 Сейчас в теме
(2) Основная идея не в печати с помощью программки одной картинки (с тем же успехом можно и просмотрщиком винды распечатать), а оптом и с минимальным трафиком по сетке... вроде 500 картинок минут за 7 посылает полностью на принтер у нас
4. v.l. 437 30.09.10 14:16 Сейчас в теме
у меня под рукой нет 8.2. Можете дать строку с запуском Вьюера?

У меня это сделано так:

ЗапуститьПриложение("C:\Program Files (x86)\IrfanView\i_view32.exe "+СокрЛП(ПолноеИмяФайла)+"/resample /aspectratio /print", , Истина);


Обратите внимание на третий параметр - он заставляет 1С ждать, пока не выполнится программа. Без него в очередь принтера посылаются все файлы. Но не факт, что они напечатаются в порядке их очереди, т.к. Ирфан запускается как параллельный процесс и потому могут быть небольшие задержки, во время которых свою картинку на принтер может послать другой параллельный процесс.
5. Stepa86 1532 30.09.10 15:26 Сейчас в теме
(4)
&НаКлиенте
Процедура ПечатьФайловЧерезIrfanView( пПутиКФайлам , пИмяПринтера )
	
	Состояние( "Передача файлов на печать принтеру" );
	
	Для Каждого цСтрока Из пПутиКФайлам Цикл
		
		Сценарий = Объект.ПутьКИсполняемомуФайлу + " """ + цСтрока + """ /ini=""" + ПолучитьПутьИниФайла() + """ /print=""" + пИмяПринтера + """";
		
		ЗапуститьПриложение( Сценарий , ПолучитьПутьПоУмолчанию() , Истина );
		
	КонецЦикла;
	
КонецПроцедуры
Показать


в массиве приходит адрес папки (не файла, а папки с файлами), которые нужно напечатать
11. ksai 09.02.12 12:34 Сейчас в теме
(5)

Каким образом вот это:

в массиве приходит адрес папки (не файла, а папки с файлами), которые нужно напечатать


соотносится с описанием:

1. На входе:
Массив полных путей к файлам-изображениям (по отношению к клиентской части даже для клиент-серверного варианта работы)


Всё-таки что должно быть в передаваемом массиве - пути к файлам или адрес папки?
12. Stepa86 1532 09.02.12 13:26 Сейчас в теме
(11) в (5) описание внутренностей и это описано в топике:

"3. Во временной папке создается еще одна папка и туда конвертируются все файлы для печати. Конвертирование происходит в черно-белый .tif . При использовании сжатия файлы весят в 10 раз меньше исходных (примерно, исходные были jpegи), без сжатия больше в 8-25 на тех же файлах
4. Подается команда печать папки и управление переходит драйверам принтера"

На вход самой обработки нужно подавать массив имен файлов. А вообще код открыт и достаточно не сложен, можно легко адаптировать под себя и разобраться что именно там происходит.
6. v.l. 437 30.09.10 15:45 Сейчас в теме
Нет, у меня с папкой не пройдёт - в папке лежат все сертификаты. Разве что их сначала в другую папку копировать, потом уже всю папку запускать - но тогда тоже нет очереди по документам. В смысле, соответствия.
Хотя, если при копировании задавать соответствующее имя... Вариант.

Плюс за идею.
7. Stepa86 1532 30.09.10 16:25 Сейчас в теме
(6) ну собсно все файлы не только конвертятся в тифф в новую папку, но еще и переименовываются в порядке очереди от 1 до ...
8. v.l. 437 01.10.10 08:23 Сейчас в теме
А Вы можете сконвертировать эту обработку для платформы 8.1?
Будет очень интересно.
9. Stepa86 1532 01.10.10 08:35 Сейчас в теме
(8) может на выходных займусь, для 8.1 там все просто, это с 8.2 пришлось повозится с сохранением из макета исполняемого файла, но спросом видимо не будет пользоваться так же... вот если на 7.7 сконвертить...
10. Sirruf 196 17.05.11 16:23 Сейчас в теме
А как установить размер печатаемого изображения по размеру листа А4? Печатается только часть изображения, которая помещается на лист бумаги.
13. пользователь 23.02.12 22:15
Сообщение было скрыто модератором.
...
14. KrakoZyabl 77 27.06.13 15:44 Сейчас в теме
Идея хороша и реализация тоже, взял это на вооружение, долго искал выход, то кресты у меня через макеты печатает то нормально всё не поймешь в чем причина, только одно но...не получается удалить файлы в папке после печати, ругается что файл занят(конфликт блокировок) и как следствие повтор при печати предидущих файлов вместо новых (т.к. не удалились) и еще вот проблемка в дуплексной печати, можно как-то целиком запустить всю папку сразу на печать?(наверное строку нужно формировать из файлов и закладывать в сценарий), а то пофайлово двухсторонней печати не получается(((
15. KrakoZyabl 77 27.06.13 16:20 Сейчас в теме
(14) Извиняюсь, увидел что печатается вся папка сразу, просто дуплекса не получается
16. KrakoZyabl 77 27.06.13 17:33 Сейчас в теме
И с дуплексом разобрался), выгрузил макет ini, поставил Duplex = 2 после загрузил. Как говориться сам с собой поговорил :))) Спасибо )
17. EugenP 25.03.14 15:07 Сейчас в теме
А можно немного подробнее, как побороли проблему Дуплекса
И с дуплексом разобрался), выгрузил макет ini, поставил Duplex = 2 после загрузил.


куда загрузил-то?
у меня в ini файле тоже Duplex = 2,
но каждый файл отдельным заданием и следовательно на отдельной странице выходит
18. CheBurator 3140 25.03.14 16:41 Сейчас в теме
Я так понимаю вы чисто гипотетически обсуждаете, типа долма попробовать...
Прога бесплатна для некоммерческого использования.
Для коммерческого - атата!!!
19. janibeg 2 08.07.15 11:01 Сейчас в теме
Письмо с обработкой не пришло, монетка со счета снялась)
Оставьте свое сообщение