Принимает задания на печать документов от серверов приложений расположенных в дата-центре. Как правило, сервер печати располагается в офисе, где используются клиентские приложения – это позволяет существенно снизить нагрузку на каналы связи за счет передачи гораздо меньшего объема данных.
Использование внутренних механизмов печати позволяет обеспечить гарантированную доставку печатных форм до принтера, централизованную запись журнала печати (кто, когда, что, сколько и куда напечатал) и прочие функции.
Сервер, на котором установлен сервер печати, и сеть, в которой он находится, должны быть настроены так, чтобы с серверов приложений можно было установить соединение на сервер печати и с сервера печати установить соединение к любому из серверов приложений.
Сервер приложений кеширует шаблоны печатных форм для снижения нагрузки на канал данных. Если ведется активная разработка конфигурации, при которой шаблоны часто меняются, может наблюдаться значительный рост размера кеша. Кеш можно удалить в любой момент, он начнет наполняться заново.
Сервер печати поддерживает печать пакетов документов. Пакет документов будет распечатан на одном принтере в заранее определенной последовательности, никаких других документов при печати пакета напечатано не будет (при условии, что никто кроме сервера печати не имеет доступа к принтеру).
Сервер печати может быть запущен как служба и как консольное приложение.
Настройки сервера печати 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 – шаблоны кэшируются локально и при повторном их использовании обращения к серверу приложений не происходит. Кэширование позволяет сократить трафик между серверами и снизить нагрузку на сервер приложений.
При изменении печатной формы внутри версии конфигурации кэш не сбрасывается. Использовать эту функцию можно только с зафиксированной версией конфигурации. |
•false – шаблоны каждый раз загружаются с сервера приложений. Эта возможность необходима для разработчиков, либо если кластер (сервер приложений) работает с незафиксированной версией конфигурации, изменения в которую могут вносится в режиме реального времени.
TasksRepositoriesPath – путь к папке с кэшем заданий печати.
TemplatesRepositoryPath – путь к папке с кэшем шаблонов печатных форм.
Для настройки компьютера, предназначенного для функционирования сервера печати, необходимо выполнить следующие действия: •установить на компьютер операционную систему семейства Windows; •отключить службу диспетчера очереди печати (Print Spooler); •установить платформу .NET Framework версии не ниже 4.5; •установить и подключить принтеры к серверу печати; •беспроводные принтеры, используемые в одноранговой сети, также следует подключить к серверу печати; •скопировать на сервер печати дистрибутив PrintServer; •в справочнике Printers приложения Ultima Businessware® добавить сервер печати, указав IP адрес настраиваемого компьютера и порт, на котором будет функционировать PrintServer; •добавить в этом же справочнике для созданного сервера печати принтеры аналогично установленным на компьютере. Системное название принтера System name должно совпадать с названием принтера в операционной системе настраиваемого компьютера; •выдать пользователям разрешения печатать на созданных принтерах; •отредактировать файл конфигурации сервера печати PrintServer.exe.config, указав идентификатор сервера печати (ID созданного сервера печати в системе), порт, на котором будет работать сервер печати (аналогично указанному ранее в системе), и прочие параметры; •убедиться, что в файле конфигурации ConsoleServer.exe.config хотя бы одного сервера приложений кластера включен планировщик задач (задания отправляются на печать системной задачей):
•также в конфигурации хотя бы одного из серверов приложений кластера должны быть заданы хотя бы по одному потоку для обработки (Print builders count) и отправки (Print senders count) заданий на печать: |
Подробно процесс печати описан в разделе Описание процесса печати.