Skip To Content

Печать в веб-приложениях

Существует несколько способов создания печатного документа из веб-приложения. ArcGIS Enterprise содержит сервис геообработки, который называется PrintingTools. Веб-приложения вызывают сервис PrintingTools и в ответ получают изображение для печати. Также можно создать пользовательский сервис печати с собственными компоновками, отличающимися от компоновок по умолчанию, которые входят в состав PrintingTools. Для расширенных возможностей печати можно использовать скрипт Python и преобразовать веб-карту в документ ArcMap (.mxd) ) или ArcGIS Pro Project (.aprx), а затем экспортировать карту или компоновку внутри проекта в различные форматы для печати.

Печать можно настроить для портала ArcGIS Enterprise, шаблонов веб-приложений, ArcGIS Web AppBuilder и для приложений, созданных с помощью веб-API ArcGIS. См. раздел Настройка портала для печати карт в Руководстве по администрированию портала для получения более подробной информации о настройке функций печати на портале, а также в приложениях, создаваемых с помощью Web AppBuilder или шаблонов веб-приложений.

Сервис PrintingTools

PrintingTools – это настроенный сервис, находящийся в папке Utilities , который создает готовый к печати документ с помощью одной из заранее заданных компоновок карты. К ним относятся стандартные компоновки для размеров листов бумаги 8,5 на 11 дюймов, 11 на 17 дюймов, формата A3 и A4 книжной и альбомной ориентации. Каждая компоновка содержит стрелку севера, масштабную линейку и масштаб, легенду, дату и заголовок. Сервис PrintingTools поддерживает следующие выходные форматы: PDF, PNG32, PNG8, JPG, GIF, EPS, SVG, SVGZ, TIFF и AIX.

Сервис PrintingTools по умолчанию остановлен. Для запуска сервиса с поддержкой рабочих процессов печати необходимо использовать ArcMap или ArcGIS Server Manager. Доступ к работающему сервису PrintingTools осуществляется по URL-адресу, который имеет следующий формат: https://webadaptorhost.domain.com/webadaptorname/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task.

Веб-интерфейсы ArcGIS предоставляют ряд виджетов, осуществляющих обмен данными с сервисом PrintingTools для получения карты в формате для печати. Достаточно просто указать URL-адрес сервиса PrintingTools, а остальную работу сделают виджеты. Более подробную информацию об использовании сервиса PrintingTools на портале ArcGIS Enterprise см. раздел Настройка портала для печати карт.

Примечание:
В случае кэшированного картографического сервиса разрешение, используемое сервисом PrintingTools (например, 96 DPI), может оказаться слишком низким для крупноформатной или высококачественной печати. Для печати с более высоким разрешением рекомендуется включить в кэшированном картографическом сервисе динамические слои. Это позволит сервису печати получить (через запрос на экспорт карты) изображения карты в желаемом разрешении (например, 300 DPI) вместо листов кэша низкого разрешения. Более подробно см. в разделе O динамических слоях.

Задача Получить информацию шаблонов компоновки содержит размер страницы компоновки и размер фрейма данных. Она также показывает, доступны ли следующие элементы компоновки:

  • Легенда
  • Текст заголовка
  • Информация об авторских правах
  • Информация об авторе
  • Пользовательские текстовые элементы

Вы также можете добавить эту задачу в пользовательские сервисы печати. Указания, как это сделать, можно получить в Руководстве: Публикация дополнительных сервисов для печати.

Примечание:

Не рекомендуется использовать свои собственные шаблоны компоновки с сервисом PrintingTools. Вместо этого следует опубликовать пользовательский сервис печати.

Легенды

Независимо от использования на портале сервиса PrintingTools или пользовательского, легенды на бумаге будут выглядеть одинаково. При печати сервисов объектов, легенды в напечатанном документе будут содержать только записи для объектов, найденных на экстенте карты, тогда как легенды других типов сервисов будут содержать записи для всех объектов, независимо от экстента карты.

Начиная с версии 10.7.1, сервисы печати автоматически настраивают легенды, чтобы отображать условные знаки только для пространственных объектов, видимых в текущем экстенте. Это применимо к картографическим сервисам, опубликованным из ArcGIS Pro в ArcGIS Enterprise 10.7.1 и не требует никаких дополнительных настроек.

Более подробно об использовании элементов легенды в ArcGIS Pro

Символы Unicode

В шаблонах компоновки по умолчанию сервиса PrintingTools не используются шрифты, поддерживающие символы Unicode. Таким образом, вы можете столкнуться с проблемами с названиями или элементами легенды, в особенности с международными символами. Чтобы исправить это, попробуйте опубликовать пользовательский сервис печати, используя собственные шаблоны компоновки, и установите шрифт, который поддерживает символы Unicode:

  • Работая с элементом легенды в ArcGIS Pro, вы можете задать шрифт, поддерживающий символы Unicode для элемента легенды по умолчанию.
  • ArcMap не поддерживает изменение шрифта элемента легенды по умолчанию. Поэтому необходимо записать сервис печати на основе arcpy, чтобы изменить стиль для всех элементов в элементе легенды.

Пользовательские сервисы печати

Если вы хотите использовать собственные компоновки, вы можете опубликовать свой сервис для печати веб-карт, наподобие PrintingTools. Это можно сделать из ArcMap 10.1 или более поздней версии или из ArcGIS Pro 2.1 и выше. Настройте этот сервис так, чтобы он ссылался на вашу собственную папку с заготовленными различными компоновками карт – Документ карты (.mxd) в ArcMap или Файлы компоновки (.pagx) в ArcGIS Pro.

Инструкции по публикации собственных пользовательских инструментов для печати в следующих двух разделах: Публикация дополнительного сервиса печати из пользовательских компоновок в ArcMap и Публикация веб-инструмента сервиса печати с пользовательскими компоновками из ArcGIS Pro. В рабочем процессе ArcGIS Pro вы публикуете веб-инструмент на портале ArcGIS Enterprise, который поддерживается сервисом геообработки, опубликованном на интегрированном сайтеArcGIS Server.

Эти рабочие процессы также объясняют, что делать, если позже вы решите обновить компоновки. Обновлять компоновки можно по-разному в зависимости от того, зарегистрировали ли вы свою папку компоновок на сервере до публикации. Рабочие процессы содержат инструкции для обоих сценариев.

Обратите внимание, что в этих разделах существуют дополнительные рекомендации по публикации и настройке пользовательских инструментов печати на портале ArcGIS Enterprise. Такой сервис должен быть опубликован как синхронный сервис геообработки, и URL для него должен использовать протокол HTTPS для сообщения с порталом, чтобы его можно было настроить, как сервис печати на портале. Более подробную информацию об использовании пользовательского сервиса печати или веб-инструмента печати на портале ArcGIS Enterprise, см. в разделе Настройка портала для печати карт.

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

  • Сервисы печати, опубликованные из ArcMap, обновляют ресурсы в активном фрейме данных.
  • Сервисы печати, опубликованные в качестве части веб-инструмента из ArcGIS Pro, обновляют карту, связанную со фреймом карты, которому вы присвоили имя "WEBMAP_MAP_FRAME» (чувствительно к регистру).
Однако, если между картами или фреймами данных есть какое-либо отношение, как, например, прямоугольник экстента, это отношение будет учитываться сервисом печати. Предположим, у вас есть компоновка с двумя фреймами карты: основная карта и обзорная карта. Обзорная карта включает прямоугольник экстента, показывающий текущий экстент основной карты. Когда веб-пользователь запрашивает карту с вашей компоновкой, основная карта будет показывать текущий вид веб-карты, а прямоугольник экстента обзорной карты будет отображать экстент основной карты, как и требуется.

Примечание:

Рекомендуется удалить все слои с карты, которая связана с "WEBMAP_MAP_FRAME". Однако, в некоторых сложных случаях вам может потребоваться наличие слоев в карте, и служба печати не удалит их.

Дополнительные возможности печати с помощью Python

Для расширенных возможностей печати не используйте PrintingTools вовсе. Вместо этого можно использовать функции ConvertWebMapToMapDocument (для ArcMap) или ConvertWebMapToArcGISProject (для ArcGIS Pro) в модуле arcpy Python. При преобразовании документа вся веб-карта находится в документе карты (.mxd) или ArcGIS Pro Project (.aprx). Соответственно документ карты, карта или компоновка в Проекте ArcGIS Pro могут и далее быть изменены перед печатью или экспортом в распространенные форматы, такие как PDF.

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

Чтобы обеспечить доступ веб-приложения к скрипту Python, можно сделать скрипт доступным посредством сервиса геообработки ArcGIS Server. Дополнительные сведения см. в разделе Расширенные функции печати для веб-карт.