# Жизненный цикл задания печати в Принтум

---
title: Жизненный цикл задания печати в Принтум
slug: zhiznennyy-cikl-zadaniya-pechati
tags: [задание печати, архитектура, путь задания, CUPS, Клиент ПМ, бесклиентская]
domain: Printing
type: Overview
audience: partner-engineer
product_versions: "4.x"
status: Draft
related_components: [ПринтМенеджер, Клиент ПМ, Встроенное приложение]
related_pages:
  - kak-printum-obrabatyvaet-zadanie-pecati
  - put-zadaniia-pri-pecati-cerez-klient-pm
  - put-zadaniia-pri-besklientskoi-pecati
  - kak-rabotaet-otlozennaia-pecat
---

# Жизненный цикл задания печати в Принтум

## Когда использовать

Для понимания полного пути задания — от нажатия «Печать» на АРМ до выхода документа
из МФУ. Помогает локализовать проблему на нужном этапе.

---

## Схемы печати

Принтум поддерживает две схемы отправки заданий:

| Схема | Описание |
|---|---|
| **Через Клиент ПМ** | На АРМ устанавливается Клиент ПМ. Он добавляет виртуальные МФУ, перехватывает задание из локальной очереди, конвертирует в PDF, применяет экономию тонера и передаёт в ПринтМенеджер |
| **Бесклиентская печать** | На АРМ не устанавливается ПО Принтум. Используется универсальный драйвер (Xerox Global Print Driver PS, Konica Minolta Universal PS, HP Universal Printing PS), в котором указан адрес сервера ПринтМенеджера. Драйвер формирует задание и отправляет напрямую в CUPS ПринтМенеджера |

Дальнейшая обработка в ПринтМенеджере одинакова для обеих схем.

---

## Путь задания при бесклиентской печати

### Этап 1 — Отправка с АРМ

Пользователь в приложении (Word, Excel, браузер) нажимает «Печать» и выбирает МФУ —
для прямой или отложенной печати.

Универсальный драйвер формирует задание в формате PostScript (PS) и отправляет его
напрямую в CUPS ПринтМенеджера.

**Компонент:** Универсальный драйвер на АРМ → CUPS ПринтМенеджера

---

### Этап 2 — Получение задания ПринтМенеджером

ПринтМенеджер периодически опрашивает свой CUPS. При обнаружении нового задания
создаёт внутри системы собственное пустое задание и заполняет его атрибутами,
полученными при парсинге исходного задания с АРМ.

Парсируемые атрибуты:
- формат страницы
- дуплекс
- количество страниц
- цветность
- ориентация
- разбор по копиям
- финишные опции

**Компонент:** `printmanager-celery-print-queue`, `printmanager-app`

---

### Этап 3 — Конвертация

Проверяется настройка `USE_PS_PRINTING`:

- **Выключена** → задание конвертируется в PDF.
- **Включена** → конвертация в PDF выполняется только если есть правила по цветности/количеству страниц или правило автоудаления. В остальных случаях — остаётся в PS.

**Компонент:** `printmanager-app`

---

### Этап 4 — Применение правил печати

После конвертации проверяются и применяются правила печати (ограничения, перенаправление,
цветность, дуплекс и др.).

Исходное задание, пришедшее с АРМ, удаляется из CUPS — далее используется только
пересобранное задание ПринтМенеджера.

**Компонент:** `printmanager-app`

---

### Этап 5а — Прямая печать

Задание отправляется из ПринтМенеджера в CUPS → CUPS передаёт на МФУ → МФУ печатает.

**Компонент:** `printmanager-cups`

---

### Этап 5б — Отложенная печать

Задание остаётся в очереди ПринтМенеджера. При авторизации пользователя на МФУ
Встроенное приложение запрашивает у ПринтМенеджера список заданий пользователя.
При нажатии «Печать» в приложении МФУ отправляет запрос в ПринтМенеджер →
ПринтМенеджер передаёт задание в CUPS → CUPS передаёт на МФУ → МФУ печатает.

**Компонент:** `printmanager-app`, `printmanager-cups`, Встроенное приложение

---

### Этап 6 — Архивирование и статистика

После успешной печати ПринтМенеджер переводит задание в архив и обновляет статистику.
В Мониторинг обновлённая статистика попадает после синхронизации.

**Компонент:** `printmanager-app`, синхронизация с Мониторингом

---

## Путь задания при печати через Клиент ПМ

### Этап 1 — Отправка с АРМ

Пользователь нажимает «Печать» в приложении → задание попадает в локальную очередь
печати АРМ (системная очередь Windows/Linux).

**Компонент:** ОС АРМ

---

### Этап 2 — Перехват Клиентом ПМ

Клиент ПМ отслеживает локальную очередь печати, получает задание и конвертирует его
в PDF.

Клиент ПМ парсит атрибуты задания (те же что и при бесклиентской печати).

**Компонент:** Клиент ПМ

---

### Этап 3 — Передача в ПринтМенеджер и применение правил

Клиент ПМ добавляет задание в очередь ПринтМенеджера. ПринтМенеджер проверяет и
применяет правила печати.

**Компонент:** Клиент ПМ → `printmanager-app`

---

### Этап 4 — Экономия тонера

Клиент ПМ запрашивает из ПринтМенеджера настройки оптимизации (экономия тонера)
и применяет алгоритм к документу. После этого передаёт образ документа обратно
в ПринтМенеджер.

**Компонент:** Клиент ПМ

---

### Этап 5а — Прямая печать

Клиент ПМ отправляет задание в CUPS ПринтМенеджера → CUPS передаёт на МФУ →
МФУ печатает.

**Компонент:** Клиент ПМ → `printmanager-cups`

---

### Этап 5б — Отложенная печать

Клиент ПМ не отправляет задание в CUPS — оно остаётся в очереди ПринтМенеджера.
Дальнейший путь идентичен отложенной печати при бесклиентской схеме.

**Компонент:** `printmanager-app`, `printmanager-cups`, Встроенное приложение

---

### Этап 6 — Архивирование и статистика

Аналогично бесклиентской схеме: ПринтМенеджер переводит задание в архив и
обновляет статистику печати. В Мониторинг данные попадают после синхронизации.

**Компонент:** `printmanager-app`, синхронизация с Мониторингом

---

## Сводная таблица: этап → компонент → диагностика

| Этап | Схема | Компонент | Где искать если проблема |
|---|---|---|---|
| Отправка с АРМ | Клиентская | Клиент ПМ, локальная очередь ОС | Лог Клиента ПМ; `journalctl` или Event Viewer |
| Отправка с АРМ | Бесклиентская | Универсальный драйвер | Настройки драйвера; порт CUPS (631) |
| Получение CUPS | Обе | `printmanager-cups`, `printmanager-celery-print-queue` | `docker-compose logs printmanager-cups` |
| Парсинг и создание задания | Обе | `printmanager-app` | `docker-compose logs printmanager-app` |
| Конвертация PS→PDF | Обе | `printmanager-app` | `docker-compose logs printmanager-app` |
| Применение правил | Обе | `printmanager-app` | `docker-compose logs printmanager-app` |
| Экономия тонера | Клиентская | Клиент ПМ | Лог Клиента ПМ |
| Отложенная очередь | Обе | `printmanager-app` | `docker-compose logs printmanager-app`; панель ПринтМенеджера → Задания |
| Авторизация на МФУ | Отложенная | `printmanager-app`, `printmanager-converter-server` | `docker-compose logs printmanager-app` |
| Печать на МФУ | Обе | `printmanager-cups` | `docker-compose logs printmanager-cups` |
| Синхронизация статистики | Обе | `printmanager-celery`, `printum_worker-*` | `docker-compose logs printmanager-celery` |

---

## Связанные страницы

- [Как Принтум обрабатывает задание печати](kak-printum-obrabatyvaet-zadanie-pecati)
- [Путь задания при печати через Клиент ПМ](put-zadaniia-pri-pecati-cerez-klient-pm)
- [Путь задания при бесклиентской печати](put-zadaniia-pri-besklientskoi-pecati)
- [Как работает отложенная печать](kak-rabotaet-otlozennaia-pecat)
- [Справочник контейнеров — где искать логи](spravochnik-konteinerov-gde-iskat-logi)