Summary
The EMFFormat object represents a collection of Enhanced Metafile format (EMF) file properties that can be configured and used with the export method on the Layout, MapFrame, and MapView objects to create an output EMF file.
Discussion
EMF are useful for embedding in Windows documents because the vector portions of the EMF can be resized without loss of quality. However, since EMF does not support font embedding and is exclusively a Windows format, it is not commonly used as an interchange format between users.
The createExportFormat method can be used to create a EMFFormat object if the format parameter is set to EMF. The returned EMFFormat object contains all the properties associated with a generating a EMF file. These properties can be modified accordingly to produce different output results.
Properties
Property | Explanation | Data Type |
clipToElements (Read and Write) | If set to True, include the areas of the page that have map or layout element content only, rather than exporting the entire page. This property only applies when exporting a Layout object. The default value is False. | Boolean |
convertMarkers (Read and Write) | Controls whether marker symbols based on font characters are exported as font characters or as polygons. Set this option to True to view the output on a machine that does not have the appropriate fonts installed when you cannot embed the fonts due to licensing or file format restrictions. This does not apply to text, only marker symbols based on fonts. The default value is False. | Boolean |
filePath (Read and Write) | A string that represents the system path and file name, including the extension, for the exported file. | String |
height (Read and Write) | The height, in pixels, of the map area to be exported. This property only applies when exporting a MapView object. The default value is 960. | Double |
imageQuality (Read and Write) | The amount of image resampling. The property determines the effective resolution of raster content on output. For instance, if imageQuality is set to BETTER, a resample ratio of 1:2, and the output resolution is set to 300 dpi, the raster content is output at approximately 150 dpi. In many cases, the raster data can be included at a lower dpi than the vector data without visibly affecting quality, reducing the output file size. The default value is BEST.
| String |
outputAsImage (Read and Write) | Export vector content as an image. For maps or layouts containing vector layers with a high density of vertices, this can drastically reduce the output file size. The default value is False. | Boolean |
resolution (Read and Write) | The effective dpi of the output vector data. The default value is 96. Note:When exporting a MapView, the dpi is calculated automatically using system dpi scaling and therefore this value will be ignored. | Integer |
showSelectionSymbology (Read and Write) | Show selected features in the map or map frame as selected in the output file. Setting this value to False does not affect selection within the view, only in the output file. The default value is False. | Boolean |
width (Read and Write) | The width, in pixels, of the map area to be exported. This property only applies when exporting a MapView object. The default value is 960. | Double |
Method Overview
Method | Explanation |
setImageQuality (image_quality) | A string constant that sets the amount of image resampling. |
Methods
setImageQuality (image_quality)
Parameter | Explanation | Data Type |
image_quality | Below is a list of valid strings.
| String |
The value determines the effective resolution of raster content on output. For instance, if the output image quality ratio is set to 1:2, an image_quality value of BETTER, and the output resolution is set to 300 dpi, the raster content is output at approximately 150 dpi. In many cases, the raster data can be included at a lower dpi than the vector data without visibly affecting quality, reducing the output file size.
Code sample
The following script exports a layout to EMF format using default property values.
p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts()[0]
emf = arcpy.mp.CreateExportFormat('EMF', r'C:\Temp\output.emf')
lyt.export(emf)