PDFFormat

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

Объект PDFFormat представляет собой набор свойств файла формата Portable Document Format (PDF), которые можно настроить и использовать с методом export в объектах Layout, MapFrame и MapView для создания выходного PDF-файла.

Обсуждение

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

Метод createExportFormat можно использовать для создания объекта PDFFormat, если параметру format присвоено значение PDF. Возвращаемый объект PDFFormat содержит все свойства, связанные с созданием PDF-файла. Эти свойства можно соответствующим образом изменять для получения различных выходных результатов.

Свойства

СвойствоОписаниеТип данных
clipToElements
(чтение и запись)

Если установлено True, включите части страницы с содержанием только элементов компоновки или карты, а не всю страницу целиком. Это свойство применяется только при экспорте объекта Layout. Значение по умолчанию равно False.

Boolean
compressVectorGraphics
(чтение и запись)

Сжимать потоки векторного содержания. Эту опцию следует оставить True, кроме случаев, когда необходим четкий текст во избежание проблем. Значение по умолчанию равно True.

Boolean
convertMarkers
(чтение и запись)

Определяет, будут ли маркерные символы, основанные на символах шрифта, экспортироваться как символы шрифта или как полигоны. Установите эту опцию на True, чтобы просматривать выходные данные на компьютере, где не установлены соответствующие шрифты, а из-за ограничений лицензии или формата файла нет возможности встроить шрифты в файл. Не применяется к тексту, только к символам-маркерам основанным на шрифтах. Значение по умолчанию равно False.

Boolean
embedColorProfile
(чтение и запись)

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

Примечание:

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

Boolean
embedFonts
(чтение и запись)

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

Примечание:

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

Boolean
filePath
(чтение и запись)

Строка, представляющая системный путь и имя файла, включая расширение, для экспортируемого файла.

String
georefInfo
(чтение и запись)

Включите геопространственную информацию из карты, или одного или нескольких фреймов карты. Если эта информация включена, вы можете извлекать данные координат x, y и выполнять географические измерения в поддерживаемых программах для чтения PDF-файлов. Значение по умолчанию равно True.

Boolean
height
(чтение и запись)

Высота экспортируемой области карты в пикселях. Это свойство применяется только при экспорте объекта MapView. Значение по умолчанию равно 960.

Double
imageCompression
(чтение и запись)

Схема сжатия, используемая для сжатия изображения или растровых данных в выходном файле. Выберите одну из следующих опций ниже. Значение по умолчанию равно ADAPTIVE.

  • ADAPTIVEСжатие JPEG и Deflate комбинируется в зависимости от содержания потока. Подходит для большинства случаев.
  • DEFLATEМетод сжатия без потерь, подходящий для большинства случаев.
  • JPEGМетод сжатия с потерями, который хорошо подходит для фотографий.
  • JPEG2000Сжатие, обеспечивающее более высокое качество, с размерами файлов, меньшими, чем JPEG. Это сжатие будет выполняться без потерь, если jpeg_compression_quality будет установлено на 100.
  • LZWМетод сжатия без потерь с использованием таблицы кодов.
  • NONEНет сжатия данных.
  • RLEМетод сжатия без потерь, который хорошо работает с большими областями одного цвета.
String
imageCompressionQuality
(чтение и запись)

Степень сжатия изображения, применяемая к экспортируемому файлу. При низком качестве создается файл меньшего размера, но с менее четкими данными, при максимальном качестве создается файл большего размера, но с более четкими данными. Применяется, только когда используются несколько методов сжатия. Значение по умолчанию равно 80.

Integer
imageQuality
(чтение и запись)

Качество пересчета изображений. Свойство определяет эффективное разрешение растрового содержания выходных данных. Например, если imageQuality установлено на BETTER, коэффициент сжатия - 1:2, а выходное разрешение resolution имеет значение 300 dpi, то выходной растр будет иметь разрешение 150 dpi. Во многих случаях растровые данные могут быть включены в экспорт с более низким разрешением dpi, чем векторные данные, что не отразится заметно на их качестве, но приведет к уменьшению размера выходного файла. Значение по умолчанию равно BEST.

  • BESTКачество выходного изображения с коэффициентом сжатия 1
  • BETTERКачество выходного изображения с коэффициентом сжатия 2
  • NORMALКачество выходного изображения с коэффициентом сжатия 3
  • FASTERКачество выходного изображения с коэффициентом сжатия 4
  • FASTESTКачество выходного изображения с коэффициентом сжатия 5
String
includeAccessibilityTags
(чтение и запись)

Если установлено значение True, то теги доступности заголовка, языка, темы, автора и ключевых слов записываются в выходной файл. Значение по умолчанию равно True.

Boolean
includeNonVisibleMapLayers
(чтение и запись)

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

Boolean
layersAndAttributes
(чтение и запись)

Включите в карту или компоновку слои, которые можно просматривать и обрабатывать в поддерживающихся программах чтения PDF. Кроме того, вы можете включить атрибутивные данные из объектов. Включение атрибутов для большого числа слоев может повлиять на производительность и увеличить объем выходных данных. Значение по умолчанию LAYERS_ONLY

String
outputAsImage
(чтение и запись)

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

Примечание:

Параметры, относящиеся к векторным данным, такие как embedFonts, georefInfo и layersAttributes, недоступны, если для outputAsImage установлено значение True.

Boolean
removeLayoutBackground
(чтение и запись)

При экспорте удаляйте фон страницы в виде графики. Это свойство применяется только при экспорте объекта Layout. Значение по умолчанию равно False.

Boolean
resolution
(чтение и запись)

Эффективное разрешение dpi выходных векторных данных. Значение, предлагаемое по умолчанию, равно 96.

Примечание:

При экспорте MapView dpi рассчитывается автоматически с использованием системного масштабирования dpi, поэтому это значение будет проигнорировано.

Integer
showSelectionSymbology
(чтение и запись)

Отображает выбранные объекты на карте или во фрейме карты, выбранные в выходном файле. Установка этого значения на False не влияет на выбор внутри вида, а только на выбор в выходном файле. Значение по умолчанию равно False.

Boolean
simulateOverprint
(чтение и запись)

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

Примечание:

Когда вы симулируете впечатывание при экспорте, векторные объекты растеризуются в изображения. Они больше не поддерживаются как отдельные векторные слои в выходном документе PDF. Это приводит к тому, что опции, специфичные для векторных данных, такие как embedFonts, georefInfo и layersAttributes становятся недоступными. Более подробно о впечатывании

Boolean
width
(чтение и запись)

Ширина экспортируемой области карты в пикселях. Это свойство применяется только при экспорте объекта MapView. Значение по умолчанию равно 960.

Double

Обзор метода

МетодОписание
setImageCompression (image_compression)

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

setImageQuality (image_quality)

Строковая константа, которая задает количество пересчета изображений.

setLayersAndAttributes (layers_attributes)

Строковая константа, управляющая включением слоя PDF и данных объектов PDF (атрибутов) в файл для экспорта.

Методы

setImageCompression (image_compression)
ПараметрОписаниеТип данных
image_compression

Below is a list of valid strings.

  • ADAPTIVE JPEG and Deflate compression are combined, depending on the contents of the stream. This works well for most cases.
  • DEFLATE Lossless compression method that works well for most cases.
  • JPEG Lossy compression method that works well for photographic-type images.
  • JPEG2000 Higher-quality compression with file sizes smaller than JPEG . This compression is lossless if imageQuality is set to 100.
  • LZWLempel-Ziv-Welch, a lossless compression method using a code table.
  • NONECompression is not applied.
  • RLE Run-length encoded compression, a lossless compression method that works well if there are large areas of the same color.
String
setImageQuality (image_quality)
ПараметрОписаниеТип данных
image_quality

Below is a list of valid strings.

  • BESTAn output image quality resample ratio of 1
  • BETTERAn output image quality resample ratio of 2
  • NORMALAn output image quality resample ratio of 3
  • FASTERAn output image quality resample ratio of 4
  • FASTESTAn output image quality resample ratio of 5
String

Значение определяет эффективное разрешение растрового содержания выходных данных. Например, если качество выходного растра установлено как 1:2, image_quality значение как BETTER и выходное разрешение – 300 dpi, выходной растр будет иметь разрешение 150 dpi. Во многих случаях растровые данные могут быть включены в экспорт с более низким разрешением dpi, чем векторные данные, что не отразится заметно на их качестве, но приведет к уменьшению размера выходного файла.

setLayersAndAttributes (layers_attributes)
ПараметрОписаниеТип данных
layers_attributes

Below is a list of valid strings.

  • LAYERS_AND_ATTRIBUTES Export PDF layers only
  • LAYERS_ONLY Export PDF layers and feature attributes
  • NONEDo not export any PDF information
String

Размер выходного файла может быть большим в зависимости от количества объектов и плотности вершин при использовании значения LAYERs_ONLY и может быть еще больше при экспорте LAYERS_AND_ATTRIBUTES.

Пример кода

PDFFormat, пример 1

Следующий скрипт экспортирует компоновку в формат PDF, используя значения свойств по умолчанию.

p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts()[0]

pdf = arcpy.mp.CreateExportFormat('PDF', r'C:\Temp\Output.pdf')

lyt.export(pdf)
PDFFormat, пример 2

Следующий скрипт выполняет тот же экспорт, что и в предыдущем пример, но затем настраивает свойства PDFFormat, чтобы создать PDF-файл меньшего размера. Перед повторным экспортом скрипт изменяет исходный выходной filePath, чтобы вы могли сравнить размеры файлов создаваемых PDF-файлов.

p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts()[0]

pdf = arcpy.mp.CreateExportFormat('PDF', r'C:\Temp\PDF_output1.pdf')
lyt.export(pdf)                            #Export using default value

pdf.clipToElements = True                  #Default is False
pdf.embedColorProfile = False              #Default is True
pdf.embedFonts = False                     #Default is True
pdf.georefInfo = False                     #Default is True
pdf.outputAsImage = True                   #Default is False
pdf.imageCompressionQuality = 10           #Default is 80
pdf.resolution = 50                        #Default is 96
pdf.setImageQuality('FASTEST')             #Default os BEST
pdf.setLayersAndAttributes('NONE')         #Default is LAYERS_ONLY
pdf.filePath = r'C:\Temp\PDF_output2.pdf'  #Override filePath from original

lyt.export(pdf)                            #Export to smaller PDF