Подсистема печати на сетевые принтеры по протоколу IPP/HTTP без драйверов из любой ОС и серверного контекста

30.10.23

Интеграция - Периферийные устройства

Печать на сетевые принтеры по протоколу IPP как напрямую, так и с иcпользованием сервера CUPS. Подсистема позволяет печатать из серверного, клиентского контекста, регламентных и фоновых заданий и не требует установки какого-то дополнительного ПО, библиотек и драйверов принтеров как на сервер 1С Предприятия, так и на клиента. Получение статуса принтера, информации о нем и результатов печати. Никаких внешних компонент не используется, под капотом HTTP и работа с двоичными данными средствами платформы. Сериализатор и десериализатор протокола IPP позволяет относительно легко доработать подсистему для поддержки нереализованных методов и типов данных протокола IPP.

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Подсистема печати на сетевые принтеры по протоколу IPP без драйверов из любой ОС и серверного контекста
.rar 144,06Kb
27 3 050 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Реализация протокола IPP для бездрайверной печати на сетевые принтеры или на принтеры, подключенные с серверу CUPS.

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

Подсистема состоит из сериализатора протокола IPP и сервисной обработки, которая позволяет оперировать принтером IPP как объектом (получать его состояние, отправлять задания на печать и опрашивать возможности принтера).

В поставке находится демо конфигурация для демонстрации возможностей подсистемы и  конфигурация для интеграции в свою конфигурацию.

Подсистема разрабатывалась и тестировалась на релизе платформы 8.3.21.1308. Режим совместимости 8.3.21. Но будет работать на любой версии платформы не ниже 8.3.17.

Обновление от 30.10.2023

1.Добавлена поддержка выбора лотков для печати.

2. Антон Гилин добавил поддержку печати через IIS (аналог CUPS, но на windows server). Его доработки добавлены в отдельную конфигурацию, которая также находится в архиве.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Периферийные устройства ККМ 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

С приходом онлайн-касс фирма 1С начала удалять в типовых конфигурациях возможность печатать нефискальные чеки на принтерах чеков. Однако многие пользователи до сих пор хотели бы иметь такую возможность (например, для тестирования или обучения персонала работе в РМК). Данное расширение возвращает этот функционал в конфигурацию 1С: УТ 11.

2 стартмани

26.05.2025    791    6    Stæg    22    

1

Периферийные устройства Разработка внешних компонент Программист 1С v8.3 Абонемент ($m)

Представлена обработка и компонента интеграции планшетов подписи от компании Signotec.

7 стартмани

27.03.2025    690    0    IgorKissil    3    

2

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

С приходом онлайн-касс фирма 1С начала удалять в типовых конфигурациях возможность печатать нефискальные чеки на принтерах чеков. Однако многие пользователи до сих пор хотели бы иметь такую возможность (например, для тестирования или обучения персонала работе в РМК). Данное расширение возвращает этот функционал в конфигурации 1С Розница 2.3 (3) и 1С УНФ 3.

1 стартмани

24.03.2025    1458    38    Stæg    32    

3

Периферийные устройства Системный администратор Программист Пользователь Стажер 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Предлагаются обработки, с помощью которой вы сможете протестировать ваш принтер чеков через БПО версий 2.1 и 3.2.

4 стартмани

18.02.2025    1066    3    aximo    0    

3

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

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

1 стартмани

31.12.2024    955    0    user821472    0    

2

Периферийные устройства Системный администратор Программист 1С v8.3 1С:Розница 2 Россия Абонемент ($m)

Пример работы для разработчика с оборудованием принтер чеков в рамках новейшей библиотеки подключаемого оборудования.

10 стартмани

14.11.2024    1630    8    aximo    0    

4

Периферийные устройства Системный администратор Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Простая в использовании обработка https://infostart.ru/1c/tools/1001819/ в целом решает поставленную задачу, но имеет явный недостаток - взаимодействует только с принтерами, подключенными к серверу. Доработанная версия позволяет работать как с принтерами на клиенте, так и на сервере

1 стартмани

30.08.2024    935    4    Sergey1CSpb    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2038 19.08.22 09:22 Сейчас в теме
OpenPrinting CUPS
The current standards-based, open source printing system developed by OpenPrinting for Linux® and other Unix®-like operating systems. CUPS uses IPP Everywhere™ to support printing to local and network printers.

На винде получается не взлетит?
2. dumsik 36 19.08.22 09:50 Сейчас в теме
(1) Через CUPS да, но прямая печать сразу на сетевой принтер будет работать, но принтер должен поддерживать формат в котором Вы будете отправлять документ на печать. Например PDF. Вообще развернуть виртуалку с Linux+ CUPS не проблема т.к. один сервер может обслуживать все сетевые принтеры.
3. ixijixi 2038 19.08.22 09:53 Сейчас в теме
(2) Интересное направление, спасибо за наводку.

Единственно, фраза
не требует установки какого-то дополнительного ПО, библиотек и драйверов
требует уточнения - при развернутом сервере CUPS 😂
4. dumsik 36 20.08.22 10:29 Сейчас в теме
(3) сервер cups не обязательно ставить если принтер сетевой и поддерживает формат документа который вы будете отправлять на печать. Например все большие сетевые принтеры принимают pdf doc и jpeg. В общем cups это скорее расширение спектра поддерживаемых устройств печати
7. flln23 24.02.24 04:26 Сейчас в теме
(1) реализована поддержка IIS-нотации CUPS'а
5. forseil 214 12.10.23 15:22 Сейчас в теме
Добрый день
Можете поделиться ссылкой на описание протокола IPP ? нужен другой размер бумаги, не можем подобрать параметр
6. dumsik 36 30.10.23 15:53 Сейчас в теме
(5) Добрый день! Все тут https://datatracker.ietf.org/doc/html/rfc8011#section-5.2.Для изменения размера бумаги Вам сначала нужно опросить принтер и получить поддерживаемые им размеры бумаги с их описанием, а затем уже из доступных устанавливать значение атрибута "media". Посмотреть все атрибуты принтера можно поставив точку остановки в модуле объекта обработки ПринтерIPP, в процедуре "Инициализировать", на строке "ДанныеАтрибутовПринтера = ДанныеАтрибутовПринтера();". Этот вызов вернет структуру где будут данные которые вернул принтер, там все довольно интуитивно.
8. user1840045 28.05.25 09:15 Сейчас в теме
Добрый день!
Можете подсказать подойдет ли данная подсистема в нашем случае (примерно):
Есть принтер-аппликатор (сетевой), который на данный момент печатает с клиента. На принтере стоит камера с машинным зрением, распознающая штрих коды (шк) по которым в базе ищется этикетка и печатается. Получается это некий конвейер. Едет номенклатура, камера считывает шк и передает в 1с. 1с подбирает этикетки и передает на печать. Получается достаточно длинная внутренняя цепочка: клиент -> сервер -> клиент -> принтер. Выполняется она примерно за 4-5 секунд, что на ленте достаточно длительно. Хочется время уменьшить на 1-2 секунды.
Если правильно понял, то подсистема позволяет исключить из цепочки вторую отправку на клиента и принтер сразу получает задание от сервера. Правильно, же?
9. dumsik 36 07.08.25 12:50 Сейчас в теме
(8) если принтер сетевой и он поддерживает печать jpg или pdf или его поддерживает cups, то возможно заработает.
Оставьте свое сообщение