PrintMap (arcpy.mapping)
Summary
Prints a specific data frame or a map document (.mxd) layout to a printer or file
Discussion
PrintMap provides the ability to print a specific data frame or a map document layout to a system printer or a print file. If a printer name is not provided, PrintMap will use the printer that is saved with the map document or will use the default system printer if the map document does not have a printer saved.
An easy way to determine the printers that are available to the local computer is to use the ListPrinterNames function.
If you want to print using ArcPress, you must set up the printer properties and save the printer with the map document.
Driver based printing is not supported on ArcGIS for Server. However, non-driver based printing is supported in web applications. For more information, see Printing in web applications.
Syntax
Parameter | Explanation | Data Type |
map_document |
A variable that references a MapDocument object. | MapDocument |
printer_name |
A string that represents the name of a printer on the local computer. (The default value is None) | String |
data_frame |
A variable that references a DataFrame object. (The default value is PAGE_LAYOUT) | DataFrame |
out_print_file |
A path that includes the name of an output print file. The format created is dependent on the printer. If you are using a postscript printer, the format will be postscript, and it is recommended that a .ps extension be provided; if you are using a Windows printer, use a .prn extension. (The default value is None) | String |
image_quality | A string that defines output image quality, the draw resolution of map layers that draw as rasters. Using the default value of "None" will cause the function to use the image quality saved in the map document.
(The default value is None) | String |
Code Sample
The following script prints a map using the default printer options.
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
arcpy.mapping.PrintMap(mxd)
The following script prints the first data frame within a map document using a specified printer name.
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
arcpy.mapping.PrintMap(mxd, r"\\olyfile\OLYCanon", df)