Skip To Content

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

Существует несколько способов создания печатного документа из веб-приложения. ArcGIS Enterprise содержит сервис геообработки, который называется PrintingTools. Веб-приложения вызывают сервис PrintingTools и в ответ получают изображение для печати. Также можно создать пользовательский сервис печати с собственными компоновками, отличающимися от компоновок по умолчанию, которые входят в состав PrintingTools. Для расширенных возможностей печати вы можете использовать скрипт Python для преобразования веб-карты в 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 по умолчанию остановлен. Для запуска сервиса с поддержкой рабочих процессов печати необходимо использовать 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 или пользовательского, легенды на бумаге будут выглядеть одинаково. При печати сервисов объектов, легенды в напечатанном документе будут содержать только записи для объектов, найденных на экстенте карты, тогда как легенды других типов сервисов будут содержать записи для всех объектов, независимо от экстента карты.

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

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

Символы Unicode

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

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

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

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

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

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

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

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

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

Примечание:

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

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

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

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

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