Skip to main content

setImageCompression

汇总

PDFFormat 对象表示便携文档格式 (PDF) 文件属性的集合,可以配置这些属性并将其与 LayoutMapFrameMapViewMapSeriesBookmarkMapSeriesReport 对象上的 export 方法一起使用,以创建输出 PDF 文件。

讨论

PDF 文件可在不同的平台上实现一致的查看和打印效果。 它们常用于在 Web 上分发文档,并且此格式现在属于文档交换的 ISO 官方标准。 在许多图形应用程序中,PDF 可供编辑。 它们可以在文件中保留地图的地理配准信息、注记、标注和要素属性数据。 此外,也可以对整个文档或单独的图层进行栅格化以简化文档,从而缩小文件。

如果 format 参数设置为 PDF ,则可以使用 createExportFormat 方法创建 PDFFormat 对象。 返回的 PDFFormat 对象包含与生成 PDF 文件相关的所有属性。 可以相应地修改这些属性以产生不同的输出结果。

语法

setImageCompression()

属性

名称 说明 数据类型

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

(读取和写入)

输出标记 PDF 文件,以供屏幕读取器或其他辅助技术读取文本。 标记 PDF 文件可包含地图框、图片和图表框的替代文本,即屏幕读取器用于描述元素的图片元素的文本描述。 替代文本会添加到每个元素的 元素窗格 中。 默认值为 True

Boolean

includeNonVisibleMapLayers

(读取和写入)

如果设置为 True ,则此属性将确保地图中的所有图层均包含在导出文件中,包括未选中可见性的图层。 所有图层的可见性状态均将保留在导出文件中。 使用此选项可以创建具有相同数据的多个视图的交付项。 当此属性设置为 False 时,导出文件中将仅包括地图中的可见图层。 不可见图层将被丢弃。 默认值为 False

Boolean

layersAndAttributes

(读取和写入)

在地图或布局中包含可以在受支持的 PDF 阅读器中查看和管理的图层。 此外,可包括要素的属性数据。 包括大量图层的属性可能影响性能并增大输出的大小。 默认值为 LAYERS_ONLY

String

outputAsImage

(读取和写入)

将矢量内容导出为图像。 如果地图或布局包含具有高密度折点的矢量图层,则此选项可极大减小输出文件的大小。 默认值为 False

注:

outputAsImage 设置为 True 时,特定于矢量数据的选项(例如 embedFontsgeorefInfolayersAttributes )将不可用。

Boolean

rasterAsSingleTile

(读取和写入)

如果设置为 True ,则将栅格和栅格化图层导出为单个切片图像,以避免透明图层在某些 PDF 查看器中出现伪影。 默认值为 False

注:

如果无法分配足够的内存,则导出过程将失败。 要减少内存需求,请将 rasterAsSingleTile 设置为 False ,或者尝试减小 imageQualityresolution ,或者将 antialiasing 值设置为 None 。 如果在应用程序外部运行脚本,则需要在 DisplayOptions 类上设置 antialiasing 值;如果在应用程序内部运行脚本,则需要在 工程选项 中的 “显示”选项卡 上设置该值。

Boolean

removeLayoutBackground

(读取和写入)

导出时,将页面背景作为图形移除。 此属性仅在导出 Layout 对象时适用。 默认值为 False

Boolean

resolution

(读取和写入)

输出矢量数据的有效 dpi。 默认值为 96。

注:

当导出 MapView 时,将使用系统 dpi 缩放比例自动计算 dpi,因此将忽略该值。

Integer

showSelectionSymbology

(读取和写入)

将地图或地图框中的已选要素在输出文件中显示为选中状态。 将此值设置为 False 不会影响视图内的选择内容,只会影响输出文件中的选择内容。 默认值为 False

Boolean

simulateOverprint

(读取和写入)

模拟叠印(有时也称为软打样)用于表示在页面上打印时油墨重叠区域的显示方式。 您可以在符号或图形的 符号图层 中设置叠印。 仅当颜色模型设置为 CMYK 时才适用。 默认值为 False

注:

在导出时模拟叠印时,矢量要素将栅格化为图像。 它们不会在输出 PDF 文档中保留为单独的矢量图层。 这将导致特定于矢量数据的选项(例如 embedFontsgeorefInfolayersAttributes )不可用。 了解有关叠印的详细信息 。 因此,当 simulateOverprint 设置为 True 时,即使设置为 False ,也将忽略 outputAsImage 值。

Boolean

width

(读取和写入)

要导出的地图区域的宽度(以像素为单位)。 此属性仅在导出 MapView 对象时适用。 默认值为 960

Double

方法

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.

  • LZW—Lempel-Ziv-Welch, a lossless compression method using a code table.

  • NONE—Compression 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.

  • BEST—An output image quality resample ratio of 1

  • BETTER—An output image quality resample ratio of 2

  • NORMAL—An output image quality resample ratio of 3

  • FASTER—An output image quality resample ratio of 4

  • FASTEST—An output image quality resample ratio of 5

String

setLayersAndAttributes(layers_attributes)

用于指定导出文件中是否将包含 PDF 图层和 PDF 对象数据(属性)的字符串常量。

名称 说明 数据类型

layers_attributes

Below is a list of valid strings.

  • LAYERS_AND_ATTRIBUTES— Export PDF layers only

  • LAYERS_ONLY— Export PDF layers and feature attributes

  • NONE—Do not export any PDF information

String

代码示例

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