摘要
该 SVGFormat 对象表示可缩放矢量图形 (SVG) 文件属性的集合,可以对其进行配置,并使用 Layout、MapFrame 和 MapView 对象上的 export 方法来创建输出 SVG 或 SVGZ 文件。
说明
SVG 是一种基于 XML 的文件格式,专门适用于在 Web 上进行查看。 SVG 可以同时包含矢量信息和栅格信息。 某些 Web 浏览器可能需要安装插件才能查看 SVG 文件;较早的浏览器可能根本无法查看 SVG 文件。 SVG 支持字体嵌入。 也可以通过将 compressToSVGZ 属性设置为 True 来选择生成压缩的 SVG 文件。 文件扩展名会变为 *.svgz。
如果 format 参数设置为 SVG,则可以使用 createExportFormat 方法创建 SVGFormat 对象。 返回的 SVGFormat 对象包含与生成 SVG 文件相关的所有属性。 可以相应地修改这些属性以产生不同的输出结果。
属性
属性 | 说明 | 数据类型 |
clipToElements (可读写) | 如果设置为 True,则仅包含具有地图或布局元素内容的页面区域,而非导出整个页面。 此属性仅在导出 Layout 对象时适用。 默认值为 False。 | Boolean |
compressToSVGZ (可读写) | 如果设置为 True,则将压缩文件,并且扩展名应设置为 *.svgz。 默认值为 False。 | Boolean |
convertMarkers (可读写) | 对基于字体字符的标记符号是作为字体字符还是作为面导出进行控制。 当您由于许可或文件格式的限制而无法嵌入字体时,请将此选项设置为 True 以在尚未安装相应字体的计算机上查看输出。 这不适用于文本,仅适用于基于字体的标记符号。 默认值为 False。 | Boolean |
embedFonts (可读写) | 在导出的文件中包含可嵌入的字体,以在不同平台上保持字体的一致性。 将不会包含不支持嵌入的字体,无论此设置为何。 默认值为 True。 注:为了正确地将文本编辑为图形,Illustrator 要求安装字体并可以使用字体。 嵌入和共享字体前请检查共享权限。 | Boolean |
filePath (可读写) | 一个字符串,表示已导出文件的系统路径和文件名(包含扩展名)。 | String |
height (可读写) | 要导出的地图区域的高度(以像素为单位)。 此属性仅在导出 MapView 对象时适用。 默认值为 960。 | Double |
imageQuality (可读写) | 图像重采样量。 该属性可用于确定输出时栅格内容的有效分辨率。 例如,如果 imageQuality 设置为 BETTER,重采样比率为 1:2,并且输出 resolution 设置为 300 dpi,则栅格内容将以大约 150 dpi 的分辨率输出。 许多情况下,您能够以低于矢量数据的 dpi 来包含栅格数据,而不会明显影响质量,从而减小输出文件的大小。 默认值为 BEST。
| String |
includeNonVisibleMapLayers (可读写) | 如果设置为 True,则此属性将确保地图中的所有图层均包含在导出文件中,包括未选中可见性的图层。 所有图层的可见性状态均将保留在导出文件中。 使用此选项可以创建具有相同数据的多个视图的交付项。 当此属性设置为 False 时,导出文件中将仅包括地图中的可见图层。 不可见图层将被丢弃。 默认值为 False。 | Boolean |
outputAsImage (可读写) | 将矢量内容导出为图像。 如果地图或布局包含具有高密度折点的矢量图层,则此选项可极大减小输出文件的大小。 默认值为 False。 注:当 outputAsImage 设置为 True 时,特定于矢量数据的选项(例如 embedFonts)将不可用。 | Boolean |
resolution (可读写) | 输出矢量数据的有效 dpi。 默认值为 96。 注:当导出 MapView 时,将使用系统 dpi 缩放比例自动计算 dpi,因此将忽略该值。 | Integer |
showSelectionSymbology (可读写) | 将地图或地图框中的已选要素在输出文件中显示为选中状态。 将此值设置为 False 不会影响视图内的选择内容,只会影响输出文件中的选择内容。 默认值为 False。 | Boolean |
width (可读写) | 要导出的地图区域的宽度(以像素为单位)。 此属性仅在导出 MapView 对象时适用。 默认值为 960。 | Double |
方法概述
方法 | 说明 |
setImageQuality (image_quality) | 一个字符串常量,用于设置图像重采样量。 |
方法
setImageQuality (image_quality)
参数 | 说明 | 数据类型 |
image_quality | Below is a list of valid strings.
| String |
该值可用于确定输出时栅格内容的有效分辨率。 例如,如果输出图像质量比率设置为 1:2,image_quality 值为 BETTER,并且输出分辨率设置为 300 dpi,则栅格内容将以大约 150 dpi 的分辨率输出。 许多情况下,您能够以低于矢量数据的 dpi 来包含栅格数据,而不会明显影响质量,从而减小输出文件的大小。
代码示例
以下脚本使用默认属性值将布局导出为 SVG 格式。
p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts()[0]
svg = arcpy.mp.CreateExportFormat('SVG', r'C:\Temp\Output.svg')
lyt.export(svg)
以下脚本通过将 compressToSVGZ 属性设置为 True 将布局导出为压缩 SVG 格式。
p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts()[0]
svg = arcpy.mp.CreateExportFormat('SVG', r'C:\Temp\Output.svgz')
svg.compressToSVGZ = True #Change from default value of False
lyt.export(svg)