О выводе карт на печать

Часто, напечатать карту оказывается несколько сложнее, чем текстовый документ или презентацию PowerPoint. Файлы карт бывают довольно большого размера и при печати требуют много места на диске. Кроме того, размер компоновки карты может оказаться больше, чем область печати вашего принтера. В данном разделе рассматриваются некоторые особенности и возможности, доступные при печати карт в ArcGIS.

Настройка печати для плоттеров (широкоформатных принтеров)

Возможно, в вашей организации имеются принтеры, которые могут работать с бумагой большего размера, чем обычная офисная бумага. Очень важно в самом начале выбрать такой широкоформатный принтер в ArcGIS. Для смены принтера откройте диалоговое окно Параметры страницы и печати (Page and Print Setup) и воспользуйтесь ниспадающим списком Имя (Name) для выбора текущего принтера.

Задание размера страницы для компоновки вашей карты

Так как компоновка представляет собой организованные для распечатки на странице элементы карты различных типов, один из очевидных начальных шагов при построении компоновки — это установка необходимых размеров страницы в диалоговом окне Параметры страницы и печати (Page and Print Setup). По умолчанию, при создании новой пустой карты в ArcMap и выборе команды Пустая карта (Blank Map) устанавливается размер страницы, равный размеру страницы принтера.

Установка размеров страницы компоновки

  1. В главном меню щелкните Файл (File) > Параметры страницы и печати (Page and Print Setup), чтобы открыть диалоговое окно Параметры страницы и печати (Page and Print Setup).
  2. Можно установить размер страницы компоновки, как показано здесь.
    Использование диалогового окна Параметры страницы и печати (Page and Print Setup) для установки размеров компоновки
    По умолчанию, размер бумаги для компоновки новой пустой карты устанавливается такой же, как размер страницы принтера (например, 8,5 на 11 дюймов).
    ПримечаниеПримечание:
    Может потребоваться изменить тип принтера и выбрать широкоформатный принтер (плоттер). В ниспадающем списке Имя (Name) выберите нужный принтер.
  3. Чтобы установить собственный размер страницы, отключите опцию Использовать страницу принтера (Use Printer Paper Settings). Если отключить эту опцию, можно задать любой размер страницы, но название принтера не сохранится в документе карты (.mxd).
  4. Установите нужные размеры в полях Ширина (Width) и Высота (Height).
    Установка собственного размера страницы для компоновки
    Также можно выбрать стандартный размер страницы из ниспадающего списка Стандартные размеры (Standard Sizes), например ANSI C, Architectural D или ISO A2.
    Выбор стандартного размера страницы компоновки
  5. После изменения размера страницы компоновки необходимо изменить размеры и расположение всех элементов карты. Это необходимо, даже если вы работаете с новой пустой картой и только начинаете добавлять элементы карты или слои.

    Параметр Размер страницы карты (Map Page Size) связан с параметром Размер бумаги (Paper Size), если отмечена опция Использовать страницу принтера (Use Printer Paper Settings). По умолчанию, эта опция включена для новых карт, создаваемых с помощью опции Пустая карта (Blank Map) в окне Новый документ (New Document) или ArcMap — Начало работы. В примере ниже, настройка принтера Размер бумаги используется как значение ArcMap по умолчанию, равное 8,5 x 11 дюймов. Однако Размер страницы карты (Map Page Size) не связан с исходным размером 8,5 x 11 и настроен на страницу большего размера 22 x 34. Исходный фрейм данных размещен на компоновке на основании исходного, меньшего размера страницы. Поэтому, после изменения значения Размер страницы карты (Map Page Size) потребуется использовать вид компоновки в ArcMap, чтобы переделать всю компоновку. Измените положение фрейма данных и элементов компоновки, чтобы они хорошо смотрелись на странице нового размера.

    Зачем переделывать фрейм данных под новый размер компоновки

Выбор механизма печати

ArcGIS поддерживает три механизма печати:

Использование Качества выходного изображения (Output Image Quality) для управления качеством и скоростью печати

Качество выходного изображения (Output Image Quality) контролирует степень передискретизации растра. Если на карте нет растров или векторных слоев с прозрачностью, эта опция ни на что не влияет.

Опция Качество выходного изображения (Output Image Quality) определяет эффективное разрешение растрового содержимого выходных данных. Например, если качество выходного растра установлено как 1:2 и выходное разрешение - 300 dpi, выходной растр будет иметь разрешение 150 dpi.

Бегунок Качество выходного изображения установлен на Быстрое
Бегунок Качество выходного изображения установлен на Быстрое, предварительный просмотр имеет высокую пикселизацию

Если Качество выходного изображения (Output Image Quality) установлено на значение Наилучшее (Best) (т. е. пропорция 1:1), пересчет не выполняется. По умолчанию, Качество выходного растра установлено как Нормальное (Normal).

Бегунок Качество выходного изображения установлен на Наилучшее
Бегунок Качество выходного изображения установлен на Наилучшее

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

Использование опции печати с разбиением на листы

Если компоновка больше, чем область печати принтера, можно распечатать карту с использованием опции разбиения на листы. Чтобы включить разбиение на листы, отключите опцию Использовать страницу принтера (Use Printer Paper Settings) в диалоговом окне Параметры страницы и печати (Page and Print Setup). Если карта использует многостраничную компоновку, опция разбиения на листы не доступна. Разбиение на листы многостраничных компоновок не поддерживается.

Отключив опцию Использовать страницу принтера (Use Printer Paper Settings), вы сможете установить Размер страницы карты (Map Page Size) со значениями, отличающимися от значений Размер бумаги (Paper Size), что позволит использовать опцию разбиения на листы в диалоговом окне Печать (Print).

Выберите опцию Все (All) или Листы (Tiles), чтобы распечатать компоновку на нескольких страницах принтера. Опция Разместить на одной странице (Scale Map to fit Printer Paper) уменьшает или увеличивает изображение карты так, чтобы подогнать его под размер страницы. Эффект будет примерно такой же, как если увеличить или уменьшить карту на копировальном аппарате. Обратите внимание, что при использовании этой опции такие динамические элементы карты, как текст масштаба, не обновляются, и это может привести к неверным значениям после печати.

Разбиение карты по листам для печати

Тестирование печати с разбивкой на листы

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

Решение проблем с распечаткой карт

Более подробно о проблемах вывода на печать и стратегиях их устранения.

Карта выводится на печать слишком долго или выдает ошибку при обработке

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

Карта распечатывается "квадратиками" - Растеризация

Прозрачность слоев и символы, основанные на BMP изображениях, могут вызвать растеризацию карты при выводе. В результате растеризации, все слои, которые находятся ниже слоя данных, содержащего указанный выше символ, в выходном файле конвертируются в плоское растровое изображение. Растеризация также происходит, если один из слоев, входящий в составной слой, имеет прозрачность. Чтобы избежать растеризации, символы в формате ВМР должны быть заменены векторными EMF или шрифтовыми символами. Если убрать лишнюю прозрачность, это также может помочь избежать растеризации.

Выявление растеризованных слоев

Выполните этот скрипт arcpy.mapping в окне Python, чтобы получить отчет о наличии слоев карты, которые могут привести к растеризации при выводе на печать или экспорте карты.

import arcpy

def DetectRasterization():
  mxd = arcpy.mapping.MapDocument("CURRENT")
  df_list = arcpy.mapping.ListDataFrames(mxd)
  foundRasterization = False
  noneFoundMsg = "No rasterizing layers were detected."
  for df in df_list:
    lyr_list = arcpy.mapping.ListLayers(mxd, data_frame=df)
    for lyr in lyr_list:
      if lyr.isRasterizingLayer or lyr.supports("BRIGHTNESS"):
        foundRasterization = True
        if lyr.isGroupLayer and lyr.transparency > 0:
          print "In data frame '" + df.name + "', the group layer '" + \
                   lyr.longName + "' is a rasterizing layer:\r",
          print "\tVisibility is " + str(lyr.visible) + ".\n" + \
                "\tTransparency is " + str(lyr.transparency) + " percent.\n"
        elif not lyr.isGroupLayer:
          print "In data frame '" + df.name + "', the layer '" + \
                   lyr.longName + "' is a rasterizing layer:\r",
          if lyr.transparency > 0:
            print "\tVisibility is " + str(lyr.visible) + ".\n" + \
                  "\tTransparency is " + str(lyr.transparency) + " percent.\n"
          else:
            print "\tVisibility is " + str(lyr.visible) + ".\n" + \
                  "\tTransparency is 0 percent, but the layer may be a\n" + \
                  "\traster layer or contain rasterizing symbology such\n" + \
                  "\tas bitmap picture symbols.\n"
      del lyr
    del lyr_list
    del df
  if not foundRasterization:
    print noneFoundMsg
  del df_list
  del mxd

DetectRasterization()

Связанные темы

9/11/2013