ConvertWebMapToMapDocument (arcpy.mapping)

Краткая информация

Конвертирует веб-карту (в формате JSON), которую вы хотите напечатать или экспортировать, в документ карты. Документ карты затем можно изменить перед печатью или экспортом.

Обсуждение

Функция ConvertWebMapToMapDocument конвертирует веб-карту, которую вы хотите напечатать или экспортировать, в документ карты. После преобразования документа, в документе карты содержатся все элементы веб-карты. Затем можно изменить документ карты перед печатью или экспортом в стандартные форматы, такие как PDF. ConvertWebMapToMapDocument обычно используется при печати карт из веб-приложений с помощью ArcGIS Web API.

Функция ConvertWebMapToMapDocument в основном предназначена для рабочих процессов, в которых необходимо изменить или экспортировать веб-карту с помощью функций arcpy.mapping. Несколько примеров использования функции ConvertWebMapToMapDocument в рабочих процессах:

ПримечаниеПримечание:

ArcGIS for Server также содержит сервис геообработки PrintingTools. Сервис PrintingTools может использоваться в веб-приложении для создания изображения для печати высокого картографического качества. Дополнительные сведения о сервисе PrintingTools см. в:

Если у вас есть скрипт Python, который готовит карту для печати, вы можете включить его в инструмент-скрипт геообработки. Затем вы можете опубликовать инструмент-скрипт в качестве сервиса геообработки ArcGIS Server. Каждый веб-интерфейс ArcGIS API имеет задачу Print Task, которую вы можете использовать в своем веб-приложении. Print Task имеет параметр URL, который ссылается на REST URL созданного вами сервиса геообработки. Для дополнительной информации по использованию веб-интерфейсов ArcGIS Web API обратитесь к справке для вашей платформы разработки.

Более подробную информацию по сервисам геообработки см. в следующих разделах:

При использовании ConvertWebMapToMapDocument в сервисе геообработки в ArcGIS Web API имена параметров инструмента-скрипта должны совпадать с параметрами Print Task в ArcGIS Web API:

Имя параметра

Тип данных

Описание

Web_Map_as_JSON

Строка (String)

Представление JSON состояния карты для экспорта из веб-приложения. Интерфейсы Web API ArcGIS (JavaScript, Flex и Silverlight) позволяют разработчикам легко получить эту строку JSON из веб-приложения.

Output_File

Файл

Имя выходного файла. Расширение файла зависит от параметра Format.

Format

Строка (String)

Формат, в котором будет предоставлено изображение карты для печати. Разрешены следующие строки:

  • PNG8 (является значением умолчанию, если параметр оставлен пустым)
  • PNG
  • PDF
  • PNG32
  • JPG
  • GIF
  • EPS
  • SVG
  • SVGZ

Layout_Template

Строка (String)

Имя шаблона из списка или ключевое слово MAP_ONLY. Когда выбрано MAP_ONLY или передается пустая строка, выходная карта не содержит никаких окружающих объектов компоновки страницы (например – название, легенды, масштабную линейку).

ПодсказкаПодсказка:

Кроме того, можно добавить любое количество дополнительных пользовательских параметров. Возможность передачи дополнительных параметров в пользовательскую задачу Print Task позволяет собрать любое количество дополнительных параметров из веб-приложения и передать их в скрипт Python.

ConvertWebMapToMapDocument обычно используется при печати карт из веб-приложений. Если вы используете задачу Print Task в ArcGIS Web API, создавать веб-карту JSON не нужно; это сделают интерфейсы API. Однако прежде чем скрипт будет опубликован и использован в веб-API, его необходимо запустить локально. При локальном запуске скрипта можно использовать любую допустимую строку JSON. Строка JSON, похожая на то, что возвращает веб-приложение, может потребоваться для успешного выполнения скрипта. См. спецификацию ExportWebMap, чтобы узнать, как должен быть отформатирован этот текст. Пример строки показан ниже:

{
    "layoutOptions": {
        "titleText": "Simple WebMap JSON example"
    },
    "operationalLayers": [
        {
            "url": "http://maps1.arcgisonline.com/ArcGIS/rest/services/USA_Federal_Lands/MapServer",
            "visibility": true
        }
    ],
    "exportOptions": {
        "outputSize": [
            1500,
            1500
        ]
    },
    "mapOptions": {
        "extent": {
            "xmin": -13077000,
            "ymin": 4031000,
            "xmax": -13023000,
            "ymax": 4053000
        }
    },
    "version": "1.4"
}

При запуске инструмента-скрипта строку JSON можно скопировать и вставить во входной параметр Web_Map_as_JSON. Однако переносы строк необходимо удалить. Пример строки JSON с удаленными переносами строк:

{"layoutOptions": {"titleText": "Simple WebMap JSON example"},"operationalLayers": [{"url": "http://maps1.arcgisonline.com/ArcGIS/rest/services/USA_Federal_Lands/MapServer","visibility": true}],"exportOptions": {"outputSize": [1500,1500]},"mapOptions": {"extent": {"xmin": -13077000,"ymin": 4031000,"xmax": -13023000,"ymax": 4053000}},"version": "1.4"}

ПодсказкаПодсказка:

В процессе публикации вы можете оставить входной параметр Web_Map_as_JSON пустым, поскольку веб-API ArcGIS будет предоставлять веб-карту JSON в веб-приложении. Входной параметр Web_Map_as_JSON может быть оставлен пустым при условии, что скрипт Python был написан таким образом, чтобы он мог работать и при пустом входном параметре. Например, скрипт не ищет слои веб-карт по имени. Если скрипт не работает на сервере из-за ошибки, ее необходимо исправить локально и снова опубликовать его на сервере. Поэтому, перед публикацией рекомендуется убедиться, что скрипт работает локально, проверив его со строкой JSON подходящей веб-карты или использовав отладочный документ карты, который содержит все элементы, присутствующие в JSON веб-карты.

ПодсказкаПодсказка:

Как упоминалось раньше, строка JSON возвращаемая интерфейсами ArcGIS Web API, содержит полное состояние веб-карты. Объект layoutOptions в строке JSON требует дополнительного обсуждения, поскольку он автоматически обновляет элементы компоновки, чтобы они могли быть размещены в template_mxd. Например, если JSON имеет настройку titleText, а шаблон template_mxd имеет элемент Заголовок (Title) в виде динамического текста, заголовок компоновки в шаблоне документа карты будет обновлен с помощью значения titleText. Дополнительные сведения см. в разделе layoutOptions в спецификации ExportWebMap.

Когда вы включаете скрипт Python, который использует ConvertWebMapToMapDocument, в сервис геообработки, необходимо убедиться, что ArcGIS for Server может видеть документы шаблонов карт и данные, которые будут использоваться в веб-приложении. Наилучший вариант – использовать папку, зарегистрированную в ArcGIS for Server. Более подробно о регистрации данных см. в следующих разделах:

При создании шаблонов документов карт в зарегистрированной папке лучшим вариантом будет использование относительных путей. Таким образом, ArcGIS for Server будет способен найти данные в зарегистрированной папке относительно расположения документов карты. Дополнительная информация приведена в разделе Как карта ссылается на данные.

ВниманиеВнимание:

При использовании ConvertWebMapToMapDocument относительные пути к слоям должны указывать на данные в, ниже или одним уровнем выше пути к template_mxd.

ВниманиеВнимание:

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

В дополнение к созданию ваших собственных шаблонов документов карты, вы также можете использовать уже готовые шаблоны, которые поставляются с программным обеспечением. Они находятся в папке <installation_directory>\Templates\ExportWebMapTemplates. Эти шаблоны содержат элементы карты, такие как легенда, динамический текст текущей даты, шкалу масштаба и текст масштаба.

По умолчанию, наложение заметок или графика со стороны клиента для веб-приложения будут сохраняться в рабочей области в памяти. Рабочая область в памяти является временной и удаляется при закрытии приложения. Чтобы получить постоянную копию выходного документа карты, содержащего заметки, задайте notes_gdb; затем используйте инструмент геообработки Собрать карту (Consolidate Map) или Упаковать карту (Package Map), чтобы сделать копию выходного документа карты. Задавать параметр notes_gdb необходимо только в том случае, если вы планируете создать постоянную копию выходного документа карты. См. пример 2 кода ниже. Если веб-карта не содержит наложения заметок, можно использовать метод saveACopy из класса MapDocument, чтобы получить постоянную копию выходного документа карты.

Модуль arcpy.mapping также обеспечивает методы управления отображением легенды в компоновке выходного документа карты. Метод removeItem в классе LegendElement позволяет удалять элементы легенды. Этот процесс описывается в расширенном руководстве. Для обновления элементов легенды используйте метод updateItem класса LegendElement, а также метод ListStyleItems.

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

Синтаксис

ConvertWebMapToMapDocument (webmap_json, {template_mxd}, {notes_gdb}, {extra_conversion_options})
ПараметрОбъяснениеТип данных
webmap_json

Веб-карта для печати в формате JavaScript Object Notation (JSON). Для получения подробной информации см. раздел Спецификации ExportWebMap JSON. Интерфейсы Web API ArcGIS (JavaScript, Flex и Silverlight) позволяют разработчикам легко получить эту строку JSON из веб-приложения.

String
template_mxd

Строка, содержащая путь и имя файла документа карты (.mxd), использующегося в качестве шаблона компоновки страницы. Содержание веб-карты будет вставлено во фрейм данных, который был активным в момент сохранения шаблона template_mxd. Слои активного фрейма данных из файла template_mxd (и всех других фреймов данных) будут сохранены в выходном документе mapDocument.

(Значение по умолчанию — None)

String
notes_gdb

Строка, содержащая путь к новой или существующей файловой базе геоданных либо к имеющемуся подключению к многопользовательской базе геоданных, в которую будут записаны графические объекты. Этот параметр должен использоваться только в случае, если графические элементы веб-карты JSON должны постоянно сохраняться. Чаще всего этот параметр не нужен, т.к. для хранения графических объектов будет использоваться находящаяся в памяти компьютера временная рабочая область. Этот параметр позволяет сохранять графические объекты во временное хранилище, в случае если вы планируете использовать документ карты для осуществления операций, требующих сохранения на диск или загрузки с диска (например, для упаковки и сбора данных). Путь должен заканчиваться расширениями .gdb или .sde.

(Значение по умолчанию — None)

String
extra_conversion_options

Словарь учетных данных защищенных сервисов. Этот параметр требуется, если сервисы в веб-карте JSON запрашивают имя пользователя и пароль для просмотра. Поддерживаются следующие ключи словаря:

  • SERVER_CONNECTION_FILE
  • WMS_CONNECTION_FILE
  • WMTS_CONNECTION_FILE

Примером пары "ключ–значение" может служить:

credentials = {"SERVER_CONNECTION_FILE":r"Z:\ArcGIS2 on MyServer (user).ags", 
               "WMS_CONNECTION_FILE":r"Z:\USA on MyServer.wms"}
result = arcpy.mapping.ConvertWebMapToMapDocument(json, 
                                                  extra_conversion_options=credentials)

Списки файлов подключения могут быть использованы при наличии нескольких защищенных сервисов:

agsConnections = [r"Z:\ArcGIS on SecuredServerA (user).ags", 
                  r"Z:\ArcGIS on SecuredServerB (user).ags"]
credentials = {"SERVER_CONNECTION_FILE":agsConnections, 
               "WMS_CONNECTION_FILE":r"Z:\USA on MyServer.wms"}
result = arcpy.mapping.ConvertWebMapToMapDocument(json, 
                                                  extra_conversion_options=credentials)

(Значение по умолчанию — None)

Dictionary
Возвращено значение
Тип данныхОбъяснение
tuple

Возвращает именованный кортеж Python веб-карты и запрашивает свойства:

  • mapDocumentОбъект документа карты, созданный в результате работы функции.
  • DPI (разрешение)Запрошенное разрешение данных, экспортируемых из веб-приложения.
  • outputSizeHeightВысота изображения, как указано в веб-приложении. Используется при экспорте вида данных.
  • outputSizeWidthШирина изображения, как указано в веб-приложении. Используется при экспорте вида данных.
ВниманиеВнимание:

ConvertWebMapToMapDocument создает временные документы карты (файлы.mxd ) в системной папке temp. В Windows Vista и Windows 7 она находится в C:\Users\<user name>\AppData\Local\Temp. Пользователи должны сами удалять эти документы карты в этой папке, когда это необходимо. Чтобы удалить эти временные документы карты с помощью скрипта, см. раздел очистка (clean up) в примерах кодов, приведенных ниже.

Пример кода

ConvertWebMapToMapDocument пример 1

В этом примере скрипт считывает веб-карту JSON, выходной формат, шаблон документа карты и существующие документы PDF, к которым будет присоединена веб-карта. Выходной документ карты из функции ConvertWebMapToMapDocument экспортируется в PDF, затем включается в другой файл PDF с помощью класса PDFDocument.

import arcpy
import os
import uuid

# The template location in the server data store
templatePath = '//MyMachine/MyDataStore/WebMap'

# Input WebMap json
Web_Map_as_JSON = arcpy.GetParameterAsText(0)

# Input Layout template
Layout_Template = arcpy.GetParameterAsText(1)
if Layout_Template == '#' or not Layout_Template:
    Layout_Template = "Landscape11x17" 
    
# PDF Title Page
PDF_Title = arcpy.GetParameterAsText(2)
if PDF_Title == '#' or not PDF_Title:
    PDF_Title = "TitlePage.PDF"
    
# PDF End Page
PDF_End = arcpy.GetParameterAsText(3)
if PDF_End == '#' or not PDF_End:
    PDF_End = "ContactInfo.PDF"

# Get the requested map document
templateMxd = os.path.join(templatePath, Layout_Template + '.mxd')

# Get the requested PDF files
PDF_Title_File = os.path.join(templatePath, PDF_Title)
PDF_End_File = os.path.join(templatePath, PDF_End)

# Convert the WebMap to a map document
result = arcpy.mapping.ConvertWebMapToMapDocument(Web_Map_as_JSON, 
                                                  templateMxd)
mxd = result.mapDocument

# Use the uuid module to generate a GUID as part of the output name
# This will ensure a unique output name
WebMapPDF = os.path.join(arcpy.env.scratchFolder, 
                         'WebMap_{}.pdf'.format(str(uuid.uuid1())))

# Export the WebMap to PDF
arcpy.mapping.ExportToPDF(mxd, WebMapPDF)

# Create a new "master" output PDF Document
# Append Title, WebMap and End PDFs to it
Output_Name = os.path.join(arcpy.env.scratchFolder, 
                           'OutputWithWebMap_{}.pdf'.format(str(uuid.uuid1())))
pdfDoc = arcpy.mapping.PDFDocumentCreate(Output_Name)
pdfDoc.appendPages(PDF_Title_File)
pdfDoc.appendPages(WebMapPDF)
pdfDoc.appendPages(PDF_End_File)
pdfDoc.saveAndClose()

# Set the output parameter to be the output PDF
arcpy.SetParameterAsText(4, Output_Name)

# Clean up - delete the map document reference
filePath = mxd.filePath
del mxd, result
os.remove(filePath)
ConvertWebMapToMapDocument пример 2

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

import arcpy
import os
import uuid

# The template location in the registered folder
templatePath = '//MyMachine/Austin/WebMap'

# Input web map json
Web_Map_as_JSON = arcpy.GetParameterAsText(0)

# Format for output
Format = arcpy.GetParameterAsText(1)
if Format == '#' or not Format:
    Format = "PDF" 

# Input Layout template
Layout_Template = arcpy.GetParameterAsText(2)
if Layout_Template == '#' or not Layout_Template:
    Layout_Template = "Landscape11x17" 

# Get the requested map document
templateMxd = os.path.join(templatePath, Layout_Template + '.mxd')
    
# Since we are making a permanent copy of the notes overlays, 
# we need to specify a notes geodatabase
notes = os.path.join(arcpy.env.scratchFolder, 'mynotes.gdb')

# Convert the web map to a map document
result = arcpy.mapping.ConvertWebMapToMapDocument(Web_Map_as_JSON, templateMxd, notes)
mxd = result.mapDocument

# Save the web map and notes overlays to a new map document using ConsolidateMap 
arcpy.ConsolidateMap_management(mxd.filePath, 
                                os.path.join(arcpy.env.scratchFolder, 'ConsolidateWebMap'))

# Clean up - delete the map document reference
filePath = mxd.filePath
del mxd, result
os.remove(filePath)
ConvertWebMapToMapDocument пример 3

В этом примере используется промежуточный шаблон документа карты, который содержит векторные эквиваленты всех возможных сервисных слоев. После выполнения функции ConvertWebMapToMapDocument, скрипт просматривает все слои выходного документа карты и удаляет все слои, кроме векторных, которые соответствуют сервисным слоям в веб-карте JSON. Затем компоновка выходного документа карты экспортируется в PDF или PNG.

import arcpy
import os
import uuid

# The template location in the registered folder 
templatePath = '//MyComputerName/MyDataStore/USA'

# Input web map json
Web_Map_as_JSON = arcpy.GetParameterAsText(0)

# Format for output
Format = arcpy.GetParameterAsText(1)
if Format == '#' or not Format:
    Format = "PDF" 

# Input Layout template
Layout_Template = arcpy.GetParameterAsText(2)
if Layout_Template == '#' or not Layout_Template:
    Layout_Template = "NorthwesternUSA" 
    
# Get the requested map document
templateMxd = os.path.join(templatePath, Layout_Template + '.mxd')

# Convert the web map to a map document
result = arcpy.mapping.ConvertWebMapToMapDocument(Web_Map_as_JSON, templateMxd)
mxd = result.mapDocument

# Reference the data frame that contains the web map
# Note: ConvertWebMapToMapDocument renames the active dataframe in the template_mxd to "Webmap"
df = arcpy.mapping.ListDataFrames(mxd, 'Webmap')[0]

# Get a list of all service layer names in the map
serviceLayersNames = [slyr.name for slyr in arcpy.mapping.ListLayers(mxd, data_frame=df) 
                      if slyr.isServiceLayer and slyr.visible and not slyr.isGroupLayer]

# Create a list of all possible vector layer names in the map that could have a 
# corresponding service layer
vectorLayersNames = [vlyr.name for vlyr in arcpy.mapping.ListLayers(mxd, data_frame=df) 
                     if not vlyr.isServiceLayer and not vlyr.isGroupLayer]

# Get a list of all vector layers that don't have a corresponding service layer
removeLayerNameList = [vlyrName for vlyrName in vectorLayersNames 
                       if vlyrName not in serviceLayersNames]

# Remove all vector layers that don't have a corresponding service layer
for lyr in arcpy.mapping.ListLayers(mxd, data_frame=df):
    if not lyr.isGroupLayer \
    and not lyr.isServiceLayer \
    and lyr.name in removeLayerNameList \
    and lyr.name in vectorLayersNames:
        arcpy.mapping.RemoveLayer(df, lyr)
                
# Remove all service layers
# This will leave only vector layers that had corresponding service layers
for slyr in arcpy.mapping.ListLayers(mxd, data_frame=df):
    if slyr.isServiceLayer:
        arcpy.mapping.RemoveLayer(df, slyr)
        
# Use the uuid module to generate a GUID as part of the output name
# This will ensure a unique output name
output = 'WebMap_{}.{}'.format(str(uuid.uuid1()), Format)
Output_File = os.path.join(arcpy.env.scratchFolder, output)

# Export the web map
if Format.lower() == 'pdf':
    arcpy.mapping.ExportToPDF(mxd, Output_File) 
elif Format.lower() == 'png':
    arcpy.mapping.ExportToPNG(mxd, Output_File)

# Set the output parameter to be the output file of the server job
arcpy.SetParameterAsText(3, Output_File)

# Clean up - delete the map document reference
filePath = mxd.filePath
del mxd, result
os.remove(filePath)
ConvertWebMapToMapDocument пример 4

В этом примере используется промежуточный шаблон документа карты, который содержит векторные эквиваленты всех возможных сервисных слоев. После выполнения функции ConvertWebMapToMapDocument, скрипт просматривает все слои выходного документа карты и удаляет все слои, кроме векторных, которые соответствуют сервисным слоям в веб-карте JSON. Вид данных для выходного документа карты затем экспортируется в PNG, используя значения DPI, выходной высоты и выходной ширины, возвращенные функцией ConvertWebMapToMapDocument, как указано в веб-приложении.

import arcpy
import os
import uuid

# Input web map json
Web_Map_as_JSON = arcpy.GetParameterAsText(0)

# The template location in the registered folder 
templatePath = '//MyComputerName/MyDataStore/FederalLands'

# Get the template map document
templateMxd = os.path.join(templatePath, 'FederalLands.mxd')

# Convert the web map to a map document
result = arcpy.mapping.ConvertWebMapToMapDocument(Web_Map_as_JSON, templateMxd)
mxd = result.mapDocument

# Reference the data frame that contains the web map
# Note: ConvertWebMapToMapDocument renames the active dataframe in the template_mxd to "Webmap"
df = arcpy.mapping.ListDataFrames(mxd, 'Webmap')[0]

# Get a list of all service layer names in the map
serviceLayersNames = [slyr.name for slyr in arcpy.mapping.ListLayers(mxd, data_frame=df) 
                      if slyr.isServiceLayer and slyr.visible and not slyr.isGroupLayer]

# Create a list of all possible vector layer names in the map that could have a 
# corresponding service layer
vectorLayersNames = [vlyr.name for vlyr in arcpy.mapping.ListLayers(mxd, data_frame=df) 
                     if not vlyr.isServiceLayer and not vlyr.isGroupLayer]

# Get a list of all vector layers that don't have a corresponding service layer
removeLayerNameList = [vlyrName for vlyrName in vectorLayersNames 
                       if vlyrName not in serviceLayersNames]

# Remove all vector layers that don't have a corresponding service layer
for lyr in arcpy.mapping.ListLayers(mxd, data_frame=df):
    if not lyr.isGroupLayer \
    and not lyr.isServiceLayer \
    and lyr.name in removeLayerNameList \
    and lyr.name in vectorLayersNames:
        arcpy.mapping.RemoveLayer(df, lyr)
                
# Remove all service layers
# This will leave only vector layers that had corresponding service layers
for slyr in arcpy.mapping.ListLayers(mxd, data_frame=df):
    if slyr.isServiceLayer:
        arcpy.mapping.RemoveLayer(df, slyr)
        
# Use the uuid module to generate a GUID as part of the output name
# This will ensure a unique output name
output = 'WebMap_{}.png'.format(str(uuid.uuid1()))
Output_File = os.path.join(arcpy.env.scratchFolder, output)

# Export the web map
arcpy.mapping.ExportToPNG(mxd, Output_File, df, result.outputSizeWidth, 
                          result.outputSizeHeight, result.DPI)

# Set the output parameter to be the output file of the server job
arcpy.SetParameterAsText(1, Output_File)

# Clean up - delete the map document reference
filePath = mxd.filePath
del mxd, result
os.remove(filePath)
ConvertWebMapToMapDocument пример 5

В этом примере пользователь предоставляет диапазон страниц, который соответствует многостраничной компоновке (Data Driven Pages) в шаблоне документа карты. Этот диапазон страниц затем экспортируется в многостраничный документ PDF.

import arcpy
import os
import uuid

# The template location in the registered folder 
templatePath = '//MyComputerName/MyDataStore/WebMap'

# Input WebMap json
Web_Map_as_JSON = arcpy.GetParameterAsText(0)

# Data Driven Page numbers as comma delimited string
DDP_Pages = arcpy.GetParameterAsText(1)
if DDP_Pages == '#' or not DDP_Pages:
    DDP_Pages = "1, 3, 10-13" 

# Get the template map document
templateMxd = os.path.join(templatePath, 'DDP.mxd')

# Convert the WebMap to a map document
result = arcpy.mapping.ConvertWebMapToMapDocument(Web_Map_as_JSON, 
                                                  templateMxd)
mxd = result.mapDocument

# Use the uuid module to generate a GUID as part of the output name
# This will ensure a unique output name
Output_Name = os.path.join(arcpy.env.scratchFolder, 
                           'WebMap_{}.pdf'.format(str(uuid.uuid1())))

# Export the WebMap Data Driven Pages to PDF
mxd.dataDrivenPages.exportToPDF(Output_Name, "RANGE", DDP_Pages)

# Set the output parameter to be the output PDF
arcpy.SetParameterAsText(2, Output_Name)

# Clean up - delete the map document reference
filePath = mxd.filePath
del mxd, result
os.remove(filePath)
5/10/2014