Печать в веб-приложениях
Печать карты из веб-приложения представляет собой довольно сложную задачу, включающую слияние нескольких сервисов, поддержку настроек видимости слоя, добавление элементов в компоновку и отображение графики поверх карты. В целях решения этих задач ArcGIS Server включает сервис геообработки PrintingTools. При разработке веб-приложения вы можете вызвать сервис PrintingTools и получить изображение для печати высокого картографического качества. Если нужна расширенная функциональность печати, можно преобразовать с помощью скрипта Python веб-карту в документ ArcMap (MXD) и затем экспортировать MXD-файл в различные форматы печати.
Сервис PrintingTools
PrintingTools представляет собой предварительно настроенный сервис, доступный в папке Utilities. Этот сервис по умолчанию имеет статус "Остановлен" (Stopped). Для запуска сервиса необходимо использовать ArcGIS for Desktop или ArcGIS Server Manager, если требуется поддержка рабочих процессов печати.
Веб-интерфейсы (APIs) ArcGIS предоставляют ряд виджетов, осуществляющих обмен данными с сервисом PrintingTools для получения карты в формате для печати. Достаточно просто указать URL-адрес сервиса PrintingTools, а остальную работу сделают виджеты.
Если требуется вызов сервиса PrintingTools за пределами веб-интерфейсов APIs или необходимо запустить базовый инструмент сервиса (Export Web Map) непосредственно из ArcGIS for Desktop или скрипта Python, необходимо предоставить определение JavaScript Object Notation (JSON) для текущего состояния карты в соответствии со спецификацией ExportWebMap ESRI. Этот дополнительный рабочий процесс необязательно использовать при работе с веб-интерфейсом API.
Сервис PrintingTools включает предварительно определенный набор компоновок карты. Чтобы использовать свои собственные компоновки карты, можно опубликовать собственный сервис для печати веб-карт, созданный по аналогии с PrintingTools, и указать для него собственную папку компоновок. Дополнительные сведения по этому вопросу см. в разделах Использование собственных компоновок для печати и Руководство: публикация дополнительных сервисов для печати.
В случае кэшированного картографического сервиса разрешение, используемое сервисом PrintingTools (например, 96 DPI), может оказаться слишком низким для крупноформатной или высококачественной печати. Для печати с более высоким разрешением рекомендуется включить в кэшированном картографическом сервисе динамические слои. Это позволит сервису печати получить (через запрос на экспорт карты) изображения карты в желаемом разрешении (например, 300 DPI) вместо листов кэша низкого разрешения. Более подробно см. в разделе O динамических слоях.
Дополнительные возможности печати с помощью Python
Если нужна расширенная функциональность печати, можно использовать вместо инструмента PrintingTools функцию ConvertWebMapToMapDocument из модуля Python arcpy.mapping, включенного в ArcGIS. При преобразовании веб-карты в документ карты все ее элементы сохраняются. Затем, документ карты, перед печатью или экспортом в распространенные форматы, такие как PDF, можно изменить.
Функция ConvertWebMapToMapDocument обычно используется для замены слоев сервиса локальными векторными данными, создания атласов карт, управления внешним видом легенды и экспорта различных форматов с использованием расширенных опций.
Чтобы обеспечить доступ веб-приложения к скрипту Python, можно сделать скрипт доступным посредством сервиса геообработки ArcGIS Server. Дополнительные сведения см. в разделе Расширенные функции печати для веб-карт.