Многие системные администраторы и специалисты 1С сталкиваются с ситуацией, когда при печати из терминальной сессии документ «раздувается» до невероятных размеров. Небольшая печатная форма в несколько килобайт может превратиться в файл очереди печати (spool-файл) размером в 500 МБ или даже 1 ГБ. Это приводит к тому, что принтер начинает печатать с огромными задержками или вовсе «зависает», блокируя работу пользователя. Особенно остро эта проблема проявляется на серверах под управлением Windows Server 2008 R2 при использовании технологии Easy Print.
В этой статье мы подробно разберем причины такого поведения системы и разработаем пошаговый алгоритм решения проблемы, учитывая как настройки операционной системы, так и специфику работы платформы 1С.
Прежде чем переходить к настройкам, давайте выясним причину возникновения аномального размера. Технология Remote Desktop Easy Print основана на формате XPS (XML Paper Specification). Когда вы нажимаете кнопку «Печать» в 1С, происходит следующее:
Проблема кроется в том, что 1С часто генерирует сложные таблицы. Если в печатной форме используются нестандартные шрифты, логотипы или специфическое масштабирование, движок печати 1С может отказаться от использования векторных шрифтов и передать документ как единое растровое изображение (bitmap). В результате каждый пиксель страницы описывается отдельно, что и приводит к взрывному росту размера файла.
Проанализируем конфигурацию сервера. Для стабильной работы печати в среде Windows Server 2008 R2 необходимо правильно настроить политики проброса принтеров. Рассмотрим необходимые параметры в редакторе локальной групповой политики (gpedit.msc):
Перейдем в раздел: Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Перенаправление принтеров.
Также важно зайти в раздел Конфигурация компьютера — Административные шаблоны — Принтеры и включить опцию Выполнять драйверы принтеров в изолированных процессах. Это предотвратит падение всей службы печати при ошибке в одном конкретном драйвере.
Выясним, как настройки самой 1С влияют на размер задания. Очень часто пользователи устанавливают в параметрах страницы опцию «По ширине страницы». Рассмотрим, почему это критично:
Когда включено автоматическое масштабирование, 1С пытается подогнать документ под область печати драйвера. В терминальном режиме Easy Print это часто заставляет систему рендерить страницу как картинку, чтобы гарантировать точность отображения.
Рекомендация:
Попробуйте установить в параметрах страницы масштаб 100%. Если документ не помещается, лучше отредактировать макет (уменьшить ширину колонок), чем использовать автоматическое масштабирование. Проверьте, изменится ли после этого размер spool-файла в очереди печати.
Поскольку Easy Print напрямую зависит от графических библиотек .NET, критически важно обеспечить актуальность версий этой платформы. Для Windows Server 2008 R2 и клиентских машин (особенно если это Windows 7 или XP) необходимо выполнить следующие действия:
Если проблема сохраняется только у одного пользователя, проанализируем драйвер его локального принтера. Рассмотрим несколько приемов:
PCL6, попробуйте заменить его на PCL5e или PostScript (PS). Драйверы PCL6 более современны, но именно они чаще всего конфликтуют с механизмом рендеринга RDP, создавая огромные задания.Посмотрим на ситуацию со стороны разработчика 1С. Если в печатной форме используется тяжелый логотип компании, это может стать причиной тормозов.
BMP, его нужно обязательно заменить на PNG или JPG с разрешением не более 300 dpi.Arial, Times New Roman или Courier New.Если штатные средства Windows и настройки 1С не помогают (что нередко случается на устаревших ОС вроде 2008 R2), стоит рассмотреть специализированное ПО для терминальной печати. Такие продукты, как ScrewDrivers или TSPrint, заменяют стандартный механизм Easy Print.
Преимущества сторонних решений:
Для решения проблемы аномального размера файлов при печати из 1С мы рекомендуем придерживаться следующей последовательности действий: сначала настроим групповые политики и проверим масштаб в 1С, затем обновим .NET Framework и оптимизируем локальный драйвер пользователя (отключив расширенные функции). В большинстве случаев сочетание правильного масштаба (100%) и отключение расширенных функций печати на клиенте позволяет сократить размер задания в десятки раз и вернуть скорость печати к нормальным значениям.