Сервер печати

Принимает задания на печать документов от серверов приложений расположенных в дата-центре. Как правило, сервер печати располагается в офисе, где используются клиентские приложения – это позволяет существенно снизить нагрузку на каналы связи за счет передачи гораздо меньшего объема данных.

Использование внутренних механизмов печати позволяет обеспечить гарантированную доставку печатных форм до принтера, централизованную запись журнала печати (кто, когда, что, сколько и куда напечатал) и прочие функции.

Сервер, на котором установлен сервер печати, и сеть, в которой он находится, должны быть настроены так, чтобы с серверов приложений можно было установить соединение на сервер печати и с сервера печати установить соединение к любому из серверов приложений.

Сервер приложений кеширует шаблоны печатных форм для снижения нагрузки на канал данных. Если ведется активная разработка конфигурации, при которой шаблоны часто меняются, может наблюдаться значительный рост размера кеша. Кеш можно удалить в любой момент, он начнет наполняться заново.

Сервер печати поддерживает печать пакетов документов. Пакет документов будет распечатан на одном принтере в заранее определенной последовательности, никаких других документов при печати пакета напечатано не будет (при условии, что никто кроме сервера печати не имеет доступа к принтеру).

Сервер печати может быть запущен как служба и как консольное приложение.

Настройки сервера печати PrintServer.exe задаются в файле PrintServer.exe.config в секции userSettings.Ultima.PrintServer.Settings:

<userSettings>

 <Ultima.PrintServer.Settings>

         <setting name="AppServerUrl" serializeAs="String">

                 <value>tcpex://localhost:8192/UltimaServer</value>

         </setting>

         <setting name="PrintServerID" serializeAs="String">

                 <value>1</value>

         </setting>

         <setting name="AdditionalThreadsCount" serializeAs="String">

                 <value>5</value>

         </setting>

         <setting name="AppServerLogin" serializeAs="String">

                 <value>PrintServer</value>

         </setting>

         <setting name="AppServerPassword" serializeAs="String">

                 <value>password</value>

         </setting>

         <setting name="TcpPort" serializeAs="String">

                 <value>1024</value>

         </setting>

         <setting name="PrintWorkerApplicationPath" serializeAs="String">

                 <value>PrintWorker\PrintWorkerApp.exe</value>

         </setting>

         <setting name="TaskBuildingTimeOut" serializeAs="String">

                 <value>30</value>

         </setting>

         <setting name="PagePrintingTimeOut" serializeAs="String">

                 <value>5</value>

         </setting>

         <setting name="UseTemplatesCache" serializeAs="String">

                 <value>True</value>

         </setting>

         <setting name="TasksRepositoriesPath" serializeAs="String">

                 <value>LocalRepository\TasksRepositories</value>

         </setting>

         <setting name="TemplatesRepositoryPath" serializeAs="String">

                 <value>LocalRepository\TemplatesRepository</value>

         </setting>

         <setting name="RetryCount" serializeAs="String">

                 <value>20</value>

         </setting>

 </Ultima.PrintServer.Settings>

</userSettings><?xml version="1.0" encoding="utf-8"?>

AppServerUrlадрес сервера приложений. Этот сервер приложений будет использоваться для получения шаблонов, сохранения статистики и прочего. Подойдет любой гарантированно работающий сервер приложений.

PrintServerID идентификатор сервера печати в системе.

AdditionalThreadsCount доступное количество дополнительных потоков для обработки заданий. Не рекомендуется, чтобы число дополнительных потоков превышало число виртуальных ядер компьютера, на котором работает сервер печати.

AppServerLogin логин для подключения к серверу приложений. В качестве него рекомендуется использовать изначально заведенного системного пользователя PrintServer.

AppServerPassword пароль для подключения к серверу приложений.

PrintWorkerApplicationPath путь к приложению Print Worker.

TcpPort порт, на котором работает сервер печати.

TaskBuildingTimeOut максимальное время ожидания построения формы печати (рендеринга) в секундах.

PagePrintingTimeOut время в секундах, отведенной на печать одной страницы. Рекомендуется устанавливать его чуть больше времени печати одной страницы самым медленным принтером в сети.

RetryCount количество попыток печати задания в случае возникновения ошибки. По достижении указанного параметром числа неудачных попыток задание удаляется из очереди.

UseTemplatesCache кэширование шаблонов печатных форм, имеет следующие значения:

true – шаблоны кэшируются локально и при повторном их использовании обращения к серверу приложений не происходит. Кэширование позволяет сократить трафик между серверами и снизить нагрузку на сервер приложений.

35_important

При изменении печатной формы внутри версии конфигурации кэш не сбрасывается. Использовать эту функцию можно только с зафиксированной версией конфигурации.

false – шаблоны каждый раз загружаются с сервера приложений. Эта возможность необходима для разработчиков, либо если кластер (сервер приложений) работает с незафиксированной версией конфигурации, изменения в которую могут вносится в режиме реального времени.

TasksRepositoriesPath путь к папке с кэшем заданий печати.

TemplatesRepositoryPath путь к папке с кэшем шаблонов печатных форм.

35_settings

Для настройки компьютера, предназначенного для функционирования сервера печати, необходимо выполнить следующие действия:

установить на компьютер операционную систему семейства Windows;

отключить службу диспетчера очереди печати (Print Spooler);

установить платформу .NET Framework версии не ниже 4.5;

установить и подключить принтеры к серверу печати;

беспроводные принтеры, используемые в одноранговой сети, также следует подключить к серверу печати;

скопировать на сервер печати дистрибутив PrintServer;

в справочнике Printers приложения Ultima Businessware® добавить сервер печати, указав IP адрес настраиваемого компьютера и порт, на котором будет функционировать PrintServer;

добавить в этом же справочнике для созданного сервера печати принтеры аналогично установленным на компьютере. Системное название принтера System name должно совпадать с названием принтера в операционной системе настраиваемого компьютера;

выдать пользователям разрешения печатать на созданных принтерах;

отредактировать файл конфигурации сервера печати PrintServer.exe.config, указав идентификатор сервера печати (ID созданного сервера печати в системе), порт, на котором будет работать сервер печати (аналогично указанному ранее в системе), и прочие параметры;

убедиться, что в файле конфигурации ConsoleServer.exe.config хотя бы одного сервера приложений кластера включен планировщик задач (задания отправляются на печать системной задачей):

<setting name="TaskSchedulerActive" serializeAs="String">

 <value>True</value>

</setting>

также в конфигурации хотя бы одного из серверов приложений кластера должны быть заданы хотя бы по одному потоку для обработки (Print builders count) и отправки (Print senders count) заданий на печать:

Clusters_Servers3_printing

Подробно процесс печати описан в разделе Описание процесса печати.