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

30.10.23

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

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

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

Наименование Файл Версия Размер
Подсистема печати на сетевые принтеры по протоколу IPP без драйверов из любой ОС и серверного контекста
.rar 144,06Kb
14
.rar 144,06Kb 14 Скачать

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

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

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

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

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

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

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

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

См. также

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

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

20400 руб.

31.05.2023    3927    3    1    

4

Тернистый путь к физической клавиатуре для программиста 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

вчера в 11:00    2367    madonov    25    

23

[История разработки] Управляем промышленным принтером EBS-1500 из 1С

Периферийные устройства Платформа 1С v8.3 Бесплатно (free)

«У нас было два контроллера Huidu, семьдесят две китайские монохромные панели на светоизлучающих диодах, они же LED, четыре мегабайта flash памяти, 1С и целое море поддерживаемых форматов вывода информации - текстов, картинок, анимаций, а так же литр промывочной жидкости, литр разбавителя, ящик черных чернил, и 12 патч-кордов и различных удлинителей. Не то, чтобы всё это было категорически необходимо в маркировке, но если уж начал собирать маркиратор на 1С, то к делу надо подходить серьёзно.» - Страх и ненависть в Маркировке, 2019 г.

01.04.2024    1199    Interrupted    14    

34

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

Инструментарий разработчика Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка получения изображения с веб-камеры с возможностью его кадрирования по произвольно выделенной области. Использует собственную внешнюю компоненту на основе библиотеки AForge. Содержит примеры интерактивного взаимодействия с полем HTML.

20.03.2024    390    1    AndSem    1    

4

Прямая печать на принтерах TSC из 1С

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

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

1 стартмани

19.02.2024    614    5    realslavyan    0    

5

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    5268    John_d    25    

72

Очистка очереди печати конкретного принтера

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

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

1 стартмани

07.11.2023    1303    2    vsnazarov    1    

26

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    1543    GeraltSnow    0    

3
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 1794 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 34 19.08.22 09:50 Сейчас в теме
(1) Через CUPS да, но прямая печать сразу на сетевой принтер будет работать, но принтер должен поддерживать формат в котором Вы будете отправлять документ на печать. Например PDF. Вообще развернуть виртуалку с Linux+ CUPS не проблема т.к. один сервер может обслуживать все сетевые принтеры.
3. ixijixi 1794 19.08.22 09:53 Сейчас в теме
(2) Интересное направление, спасибо за наводку.

Единственно, фраза
не требует установки какого-то дополнительного ПО, библиотек и драйверов
требует уточнения - при развернутом сервере CUPS 😂
4. dumsik 34 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 34 30.10.23 15:53 Сейчас в теме
(5) Добрый день! Все тут https://datatracker.ietf.org/doc/html/rfc8011#section-5.2.Для изменения размера бумаги Вам сначала нужно опросить принтер и получить поддерживаемые им размеры бумаги с их описанием, а затем уже из доступных устанавливать значение атрибута "media". Посмотреть все атрибуты принтера можно поставив точку остановки в модуле объекта обработки ПринтерIPP, в процедуре "Инициализировать", на строке "ДанныеАтрибутовПринтера = ДанныеАтрибутовПринтера();". Этот вызов вернет структуру где будут данные которые вернул принтер, там все довольно интуитивно.
Оставьте свое сообщение