Организация стабильной печати в терминальной среде — одна из самых сложных задач для системного администратора. Программный продукт TriCerat ScrewDrivers призван решить проблемы несовместимости драйверов и медленной передачи данных на печать. В этой статье мы подробно разберем, как правильно настроить систему, устранить ошибки маппинга и оптимизировать работу принтеров для пользователей 1С и других приложений.
Рассмотрим логику работы продукта. Система состоит из двух ключевых компонентов: Server Part (устанавливается на терминальном сервере) и Client Part (устанавливается на локальном компьютере пользователя). В отличие от стандартного механизма проброса принтеров RDP, ScrewDrivers создает виртуальный канал печати, используя собственный протокол передачи метафайлов TMF (TriCerat Metafile).
Разберем основные преимущества такого подхода:
Проанализируем базовую настройку. На стороне клиента в панели управления ScrewDrivers мы выбираем, какие именно локальные принтеры должны пробрасываться в сессию. На стороне сервера настраиваем правила именования и права доступа. Важный нюанс: при использовании ScrewDrivers в настройках RDP-клиента (mstsc.exe) рекомендуется снимать галочку "Принтеры" в разделе локальных ресурсов, чтобы избежать дублирования устройств.
Часто возникают ситуации, когда современные лазерные принтеры (например, серии HP LaserJet) подключаются через USB, но определяются системой как использующие DOT-порт. Это может приводить к тому, что принтер не виден в терминальной сессии. Разберем метод "обманного маппинга", который помогает решить эту проблему.
Допустим, у нас есть принтер HP LaserJet 1300 на USB-порту. Проделаем следующие шаги:
LPT1, даже если физически его нет.PrintReal.
net use lpt1: \\127.0.0.1\PrintReal /persistent:yes
После этого ScrewDrivers корректно подхватит задание, отправленное на LPT1, и перенаправит его на реальное USB-устройство. Также проанализируем настройки сервера: в оснастке Terminal Services Configuration на закладке "Параметры клиента" убедитесь, что флажки "Сопоставление принтеров" и "Сопоставление LPT-портов" сняты (то есть разрешения не заблокированы).
Посмотрим на ситуацию, когда печать из терминала идет мелким шрифтом или со смещением таблиц. Это часто случается с принтерами Canon (например, LBP-3200). Причина кроется в механизме обработки шрифтов. Выясним, как это исправить:
В настройках ScrewDrivers Client на стороне пользователя перейдем к параметрам принтера и проанализируем режимы рендеринга:
Если настройки сбрасываются после перезахода в сессию, рекомендуется обновить версию клиента. Как показывает практика, версия 4.4.3.38 и выше стабильно сохраняет выбранный режим Pre-render.
Если при попытке печати у пользователя вылетает ошибка EventType: BEX или mstsc.exe закрывается с кодом c0000005, мы имеем дело с конфликтом системы предотвращения выполнения данных (DEP). Проанализируем шаги по устранению:
sd_u_agent.exe или компоненты серверной части) в список исключений.%SystemRoot%\System32\mstsc.exe.Если принтеры внезапно перестали мапиться для конкретного пользователя, проверьте, не открыто ли у него несколько параллельных сессий. ScrewDrivers может "путаться", если один и тот же логин используется на разных терминальных серверах или в нескольких RDP-подключениях одновременно. Документ может уходить в спулер ("исчезать"), но фактически отправляться в другую активную сессию того же пользователя.
Иногда после удаления программы в системе остаются "мертвые" порты, которые мешают установке других принтеров. При попытке их удаления вручную возникает ошибка "you are not allowed this port". Разберем, как очистить реестр вручную:
Проанализируем ветку реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors
Найдите раздел с названием ScrewDrivers Monitor или аналогичным и удалите его. Также проверьте ветку портов:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Ports
После удаления записей обязательно перезапустите службу диспетчера печати Print Spooler:
net stop spooler
net start spooler
Современные версии Windows Server используют архитектуру драйверов V4, которая накладывает жесткие ограничения на изоляцию процессов печати. Если вы используете старую версию ScrewDrivers (например, 4.x) на сервере 2022, вы столкнетесь с тем, что папка принтеров не открывается или печать уходит в ошибку.
Рекомендация: Для ОС Windows Server 2019/2022 используйте версию ScrewDrivers не ниже 7.0. В ней реализована полная поддержка изоляции графа печати. Если обновиться невозможно, попробуйте переключить тип драйвера принтера на клиенте с V4 на V3 (Class Driver), если это поддерживает производитель устройства.
При работе с принтерами этикеток (Zebra, TSC) часто возникает проблема: принтер пробрасывается, но 1С не видит специфические форматы бумаги (например, 43x25 мм). Разберем решение:
В настройках ScrewDrivers Client на стороне пользователя включите опцию "Query Device for Settings". Это заставит систему принудительно опрашивать драйвер локального принтера о доступных форматах носителей. Если это не помогает, используйте функцию Custom Paper Size в консоли администратора на сервере, чтобы вручную задать размеры этикеток, которые будут транслироваться всем пользователям термопринтеров.
Заключение: ScrewDrivers остается мощным инструментом, но требует внимательной настройки под каждую версию ОС. Помните, что залог успеха — это соответствие разрядности (x64 сервер — x64 клиент) и правильный выбор режима рендеринга для "капризных" моделей принтеров.