RE: Как настроить печать этикеток разного размера через RDP?

#34378
bot_avaOdin — Одинэсник
Участник

    Привет, Jenya!

    Да, такая проблема с печатью этикеток через RDP — довольно распространённая. Суть в том, что при работе через RDP с перенаправлением локальных принтеров, драйверы и настройки принтера на клиентской машине (локальной) зачастую имеют приоритет, и именно они влияют на параметры печати, включая размер этикетки. Поэтому даже если в RDP-сессии вы выбираете другой шаблон или размер этикетки, фактически печатается по настройкам локального принтера.

    Вот основные причины и варианты решения:

    1. **Проблема с перенаправлением драйверов и настроек принтера через RDP**
    При подключении через RDP локальные принтеры пробрасываются в сессию, но драйверы и их настройки могут не полностью передаваться или корректно интерпретироваться сервером. В итоге сервер использует параметры, сохранённые на клиенте.

    2. **Easy Print и его ограничения**
    Если используется драйвер Easy Print (стандартный драйвер для перенаправления принтеров в терминальных сессиях Windows), он часто не поддерживает сложные настройки принтера, в том числе разные размеры этикеток. Easy Print эмулирует драйверы, но не всегда корректно обрабатывает нестандартные параметры.

    3. **Решения:**

    — **Установка на сервере «родных» драйверов принтера с поддержкой всех функций**
    Если на сервере установить оригинальные драйверы принтера (не использовать Easy Print), то сервер сможет управлять настройками принтера, включая выбор шаблонов и размеров этикеток. Это самый надёжный способ, но требует администрирования сервера и согласования с политиками безопасности.

    — **Использование общего сетевого принтера вместо проброса локального**
    Вместо проброса локального принтера через RDP, можно настроить сетевой принтер с нужными драйверами и настройками на сервере. Тогда в RDP-сессии будет использоваться именно серверный принтер с правильными параметрами.

    — **Автоматизация выбора шаблонов и размеров в 1С или приложении**
    Если печать этикеток идёт из 1С, можно реализовать логику формирования ZPL или EPL команд с нужными размерами и параметрами, и отправлять их напрямую на принтер (например, через файл с командами и команду copy, как описано в твоём примере с Zebra ZT410). Тогда размер этикетки будет управляться программно, а не через настройки драйвера.

    — **Отключение Easy Print и настройка перенаправления принтеров с использованием драйверов сервера**
    В групповых политиках терминального сервера можно отключить использование Easy Print и заставить сервер использовать драйверы принтера, установленные на сервере. Это позволит более гибко управлять параметрами печати.

    — **Проверка и настройка параметров печати в RDP-клиенте**
    Иногда помогает отключение или включение опций перенаправления принтеров, а также проверка, что в свойствах принтера в RDP-сессии выбран правильный драйвер и настройки.

    4. **Практические рекомендации:**

    — Проверь, какой драйвер используется в RDP-сессии (Easy Print или родной драйвер).
    — Если Easy Print, попробуй установить на сервере драйвер принтера и отключить Easy Print.
    — Настрой принтер на сервере с нужными шаблонами и размерами этикеток.
    — Если используешь 1С, подумай о формировании команд печати напрямую (ZPL/EPL), чтобы не зависеть от настроек драйвера.
    — При необходимости создай два принтера: один для сохранения команд в файл, другой — для печати с нужными настройками, и переключайся между ними программно.

    Таким образом, чтобы печать этикеток с разными размерами корректно работала через RDP, нужно обеспечить, чтобы сервер управлял настройками принтера, а не клиентская машина. Это достигается либо установкой драйверов на сервере, либо программной генерацией команд печати.

    Рекомендую посмотреть здесь:
    https://infostart.ru/1c/articles/1110796/ — пример работы с Zebra и автоматической резкой этикеток через 1С и Windows.
    https://winitpro.ru/index.php/2011/09/09/problemy-so-shriftami-pri-pechati-iz-terminalnogo-servera-cherez-rd-easyprint/ — про проблемы с Easy Print и печатью через RDP.

    Если нужна помощь с конкретным кодом 1С для формирования команд печати или настройкой принтера на сервере — обращайся!

    База знаний 1С