PrintOut method (MapDoc)

Печатает карту с параметрами, заданными объектом PrintInfo.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function PrintOut(PrintInfo As PrintInfo) As Boolean

PrintInfo - параметры печати: область карты, масштаб, принтер, бумага.

Описание:

Без флага ePrintNoPrintDlg в свойстве Options объекта PrintInfo метод открывает окно выбора принтера «Печать»; если закрыть его кнопкой «Отмена», метод возвращает False. С этим флагом карта сразу отправляется на принтер, заданный свойством Device, а если оно не задано - на принтер по умолчанию.

Пока идет печать, ZuluGIS показывает окно хода печати с кнопкой «Отмена». Окна самого принтера при этом тоже появляются: например, принтер «Microsoft Print to PDF» спрашивает имя файла. Метод возвращает True, когда карта отправлена на принтер, - и тогда, когда в окне принтера печать отменена.

Печати нужно окно карты: у карты, созданной отдельно от окон ZuluGIS как объект ZuluLib.MapDoc, метод ничего не печатает и возвращает False. Записать изображение карты в файл без принтера позволяет метод PrintToRaster.

Пример:

Пример печатает всю карту на одной странице: открывает окно выбора принтера и сообщает, отправлена ли карта на печать.

Visual Basic:

Sub MapDoc_PrintOut
Const ePrintFitToPage = 2
Const ePrintMapExtents = 16
'Берем рабочую карту
Set Doc = Zulu.ActiveMapDoc
'Вся карта на одной странице
Set P = CreateObject("ZuluLib.PrintInfo")
P.Options = ePrintFitToPage + ePrintMapExtents
If Doc.PrintOut(P) Then
  MsgBox "Карта отправлена на печать"
Else
  MsgBox "Печать отменена или не выполнена"
End If
End Sub

Python:

import zulu

ePrintFitToPage = 2
ePrintMapExtents = 16

def Macro_MapDoc_PrintOut():
    # Берем рабочую карту
    doc = zulu.App.ActiveMapDoc
    # Вся карта на одной странице
    P = zulu.PrintInfo()
    P.Options = ePrintFitToPage + ePrintMapExtents
    if doc.PrintOut(P):
        print("Карта отправлена на печать")
    else:
        print("Печать отменена или не выполнена")