Сервис PrintingTools и его клиентские виджеты печати в веб-интерфейсах API для ArcGIS предназначены для стандартной печати. В рабочих процессах, где для печати требуется изменить или экспортировать веб-карту с помощью дополнительных опций, используйте ConvertWebMapToArcGISProject для ArcGIS Pro.
Печать веб-карт в ArcGIS зависит от способности веб-карты быть представленной в формате JSON. Спецификация ExportWebMap определяет, как веб-карта может быть представлена в формате JSON с экстентом и информацией о слоях для печати. Веб-интерфейсы API for ArcGIS могут прочитать вашу текущую веб-карту и создать представление JSON на ее основе. В простом сценарии печати сервис ArcGIS Server PrintingTools считывает объект JSON и возвращает изображение карты, которое можно распечатать.
В более сложных сценариях печати представление JSON для веб-карты не надо отсылать на сервис PrintingTools. Вместо этого вы можете преобразовать JSON в проект ArcGIS Pro (.aprx).
Конвертирование веб-карты в проект ArcGIS Pro с помощью Python
Чтобы конвертировать JSON веб-карты в проект ArcGIS Pro (.aprx), используйте функцию ConvertWebMapToArcGISProject. После преобразования веб-карты в проект переходят все элементы веб-карты. Затем можно изменить проект перед печатью или экспортом в стандартные форматы, который можно выполнить с помощью других функций Python. Кроме того, вы можете добавить карту в атлас перед печатью или заменить некоторые слои сервиса в документе карты своими собственными векторными слоями.
Более подробное описание, сценарии работы и примеры кода см. в статье Печать веб-карт с помощью arcpy.mp, где поясняется, как подготовить шаблоны компоновок, скрипт Python для веб-карты и создать веб-инструменты и веб-приложения.
ArcGIS Pro 3.1 поставляется с набором инструментов PrintingTools.atbx с предварительно настроенными инструментами-скриптами Экспорт веб-карты и Получить информацию шаблонов компоновки для упрощения процесса написания сервисов печати на основе ArcPy. Набор инструментов находятся в директории <ArcGIS Pro installation location>\Resources\ArcToolBox\Templates\PrintService.
Вызов скриптов по сети Интернет
После того, как вы написали скрипт arcpy для печати, ArcGIS Enterprise предлагает сервисы геообработки, которые позволяют вам предоставлять ваши скрипты, инструменты и модели как веб-сервисы. Это позволяет их вызывать из веб-интерфейсов API for ArcGIS.
Вы можете инкапсулировать свой скрипт печати Python в инструмент-скрипт геообработки. Произведите тестовый запуск своего инструмента и опубликуйте результат в виде сервиса геообработки ArcGIS Enterprise.
При разработке данного типа инструмента-скрипта геообработки необходимо убедиться в том, что в нем имеются те же параметры, что и в готовом сервисе PrintingTools или его поднаборе. Требуется наличие, как минимум, входного параметра JSON. Если вы разработаете свой сервис таким образом, виджеты печати из ArcGIS Web AppBuilder, задачи печати веб-интерфейсов программирования (API) картографического веб-приложения ArcGIS и веб-вьюеры смогут использовать ваш сервис без необходимости написания дополнительного кода.