База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как настроить печать этикеток разного размера через RDP?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34377
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      Привет. А возможно как то через rdp сеанс на винде настроить печать этикеток по шаблонам включающие разные размеры?
      Почему то через rdp печатает размер этикетки той которая была локально выбрана на машине, а не та которую выбрал на 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 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.