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

27.09.10

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

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

Скачать исходный код

Наименование Файл Версия Размер
Файл обработки
.epf 501,24Kb
128
.epf 501,24Kb 128 Скачать

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

1. На входе: 

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

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

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

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

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

 

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

 

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

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

 

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

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

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

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

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

 

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

 

 

 

 

См. также

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

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

18000 руб.

06.10.2023    8329    24    6    

45

Программа групповой печати чеков ККМ Атол и Штрих из текстового файла, поддержка 54-ФЗ от 01.07.19

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

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

2000 руб.

26.07.2019    25046    38    17    

23

Групповая печать чеков из банковской выписки с настройкой (БП 3.0)

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

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

4800 руб.

21.08.2019    19844    70    10    

23

Журнал учета ТТН (исходящих и от поставщика) для Бухгалтерии предприятия, редакция 3.0

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

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

2280 руб.

15.04.2014    52714    51    50    

39

Меркурий, групповая печать ЭВСД (электронных ветеринарных справок)

Пакетная печать Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Обработка для групповой печати ЭВСД из меркурия, для тех кто оформляет ЭВСД через WEB-интерфейс и кому надоело по одной распечатывать оформленные ЭВСД, нажимая по 10 кнопок, ради одной печатной формы, когда таких, надо распечатать еще 20-100 и более.

1200 руб.

13.09.2018    26318    7    6    

5

Групповая пакетная печать документов "Реализация товаров и услуг" и связанных с ними "Счетов-фактур"

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

Работаете с сетями, у каждой из которых свои требования к оформлению документов? Клиент попросил перепечатать документы за год? Печатаете по 100-500 документов в день, тогда эта обработка Вам просто необходима. Данная обработка позволит Вам сэкономить время при больших объемах печати документов по отгрузке товаров и не только.

1000 руб.

29.09.2016    35864    20    5    

22

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

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

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

2 стартмани

22.08.2023    2295    28    progmaster    8    

3

Пакетная выгрузка стандартных бухгалтерских отчетов

Пакетная печать Регламентированный учет и отчетность Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Быстрое формирование сразу нескольких видов стандартных бухгалтерских отчетов - .Анализ счета, Карточка счета, Оборотно-сальдовая ведомость по счету, Отчет по проводкам. В периоды проведения проверок со стороны ФНС в деятельности предприятий часто возникает необходимость предоставления сведений из бухгалтерского учета. Обработка сократит время на формирование отчетов бухгалтеру.

6000 руб.

30.03.2023    6108    4    0    

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

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

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


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


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

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

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


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

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


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

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

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

Плюс за идею.
7. Stepa86 1521 30.09.10 16:25 Сейчас в теме
(6) ну собсно все файлы не только конвертятся в тифф в новую папку, но еще и переименовываются в порядке очереди от 1 до ...
8. v.l. 435 01.10.10 08:23 Сейчас в теме
А Вы можете сконвертировать эту обработку для платформы 8.1?
Будет очень интересно.
9. Stepa86 1521 01.10.10 08:35 Сейчас в теме
(8) может на выходных займусь, для 8.1 там все просто, это с 8.2 пришлось повозится с сохранением из макета исполняемого файла, но спросом видимо не будет пользоваться так же... вот если на 7.7 сконвертить...
10. Sirruf 192 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 3119 25.03.14 16:41 Сейчас в теме
Я так понимаю вы чисто гипотетически обсуждаете, типа долма попробовать...
Прога бесплатна для некоммерческого использования.
Для коммерческого - атата!!!
19. janibeg 2 08.07.15 11:01 Сейчас в теме
Письмо с обработкой не пришло, монетка со счета снялась)
Оставьте свое сообщение