About map printing
Often, map printing can be more involved than simple printing of word processing documents or PowerPoint presentations. Map files can be very large in size and temporarily consume large amounts of disk space while printing. In addition, the page dimensions of your map layout may exceed the size of your printer paper. This topic covers a number of considerations and options available when printing maps in ArcGIS.
Setting up map printing for plotters (large format printers)
Your GIS organization is likely to have printers that handle page sizes larger than small format office printers. An important initial step will be to reference your large format printer in ArcGIS. To change the printer, open the Page and Print Setup dialog box and use the Name drop-down to set the current printer.
Setting the page size of your map layout
Since a layout is the arrangement of map elements of various types on a page for printing, one of the obvious initial steps in building your layout is to set the desired page size using the Page and Print Setup dialog box. By default, when you create a new map in ArcMap and choose Blank Map, the layout page dimensions are set to your default printer's page size.
Steps for setting the layout's page size
- Click File > Page and Print Setup on the main menu to open the Page and Print Setup dialog box.
- You can set your layout page size as shown here.
By default, the page size of your layout for a blank map will be set to the printer's paper size (for example, 8.5 by 11 inches).Note:You may want to change the printer to a large format printer (plotter) in your organization. Use the Name drop-down to set the current printer.
- To set your own page size, uncheck the Use Printer Paper Settings check box to set the page size of your layout. If you uncheck this option, you can choose any page dimensions you want, but the printer name will not be saved with the map document (.mxd).
- Set the page size by typing the preferred page dimensions into the Width and Height boxes. Alternatively, you can select a standard page size from the Standard Sizes drop-down list, such as ANSI C, Architectural D, or ISO A2.
- Once you change your layout's page size, you will need to resize and reposition all the map elements to fit the new page dimensions. This is necessary even if you are working with a brand new map and have yet to begin adding any map elements or layers.
Map Page Size is linked to the Paper Size of the current printer whenever the Use Printer Paper Settings checkbox is checked. By default, this option is checked for new maps created via the Blank Map option in the New Document or ArcMap - Getting Started dialog boxes. In the example below, the printer setup Paper Size used as the default by ArcMap is 8.5 x 11 inches. However, the Map Page Size has been unlinked from the original 8.5 x 11 size and set to a larger page, 22 x 34. The initial data frame was placed on the layout based on the original, smaller, page size. So, after changing the Map Page Size, you need to use the layout view in ArcMap to rearrange your layout. Reposition the data frame and layout elements so that they will work well with the new page size.
Selecting a printer engine
ArcGIS supports three printer engines:
- The Windows printer engine is the default printer engine and should be your first choice for printing. The Windows printer engine is the gateway to using your printer's native driver, which is written for your printer by the manufacturer. This is generally the simplest solution for printing. However, using the Windows printer engine for large map files (especially any that contain raster data) can potentially be resource intensive. Also, be aware that Microsoft supplies generic drivers for printers as part of Windows, and these generally work well for common tasks. However, it is recommended that you obtain the most recent driver from the printer manufacturer's Web site.
- The PostScript printer engine can be used in cases where you need to produce special output required for publication and commercial printing, such as color plate separations and registration marks.
- The ArcPress printer engine provides printer drivers written by Esri or jointly by Esri and selected printer manufacturers. ArcPress is designed to work primarily with medium- and large-format printers. One advantage of ArcPress is that your heavy map printing work is processed on your computer and offloads work that may overwhelm your printer, causing it to hang. Because printers can be purchased with varying onboard processing abilities, RAM, disk space (PostScript interpreters, onboard rasterizers, and so on, may also be options), your maps may exceed the processing capabilities of your printer.
Using ArcPress on a dedicated machine in your workgroup can also support a large number of people printing simultaneously to a given printer. This relieves the printer of the task of processing each print job, resulting in more maps printed over a period of time.
You should use the ArcPress printer engine drivers if they exist for your printer and your map is a large page size and contains any of the following:
- Large raster images, such as orthophotography
- Transparent layers
- Heavy dependence on masking or symbol-level drawing
- Symbols or fills that are based on bitmap images
Using Output Image Quality to control print quality and speed
Output Image Quality controls the amount of raster resampling. If your map does not contain raster data or vector layers with transparency, setting the output image quality will not impact the output quality of your map.
The Output Image Quality control determines the effective resolution of raster content on output. For instance, if the output image quality ratio is set to 1:2 and the output resolution is set to 300 dpi, the raster content will be output at approximately 150 dpi.
When the Output Image Quality slider is set to Best (i.e., a ratio of 1:1), no resampling will occur. By default, Output Image Quality is set to Normal.
You may need to experiment by exporting or printing a small map at several Output Image Quality settings to determine the best setting for your map contents. You can create a small map containing samples of the data and other map elements that you intend to include in your maps. Output the sample map at various settings. Experiment to find a dpi and suitable quality mode that produces high-quality output with minimal processing time.
Using the tiling options for map printing
When you have a layout that is larger than the printer's paper settings, you can print your map using tiling options. To enable the tiling options, uncheck the Use Printer Paper Settings checkbox on the Page and Print Setup dialog box. If your map has Data Driven Pages, the tiling options will not be available. Tiled printing of Data Driven Pages is not supported.
After unchecking the Use Printer Paper Settings option, you will be able to set the Map Page Size to a different value from the printer setup Paper Size, which will enable the three tiling options in the Print dialog box.
Selecting either the All or Tiles option will print your layout across several printer pages. Selecting the Scale Map to fit Printer Paper option will reduce or enlarge the map image to fit onto the page. This acheives the same effect as reducing or enlarging the map on a photocopier. Note that dynamic map elements such as scale text do not update when this option is used, and thus could show the incorrect value on the final print.
Testing your print tiling
In cases where you will print maps as multiple tiles, it is helpful to create a test plot first. For example, you can print one or two tiles or create a simple layout with an empty data frame and a few other map elements. The test plot will ensure your tiling options are set correctly before wasting lots of paper and ink on an incorrect print.
Troubleshooting map printing
Learn about common printing problems and the strategies for dealing with them.
Map takes too long to print or fails during processing
If large or complex maps do not print, reboot the computer to ensure that the computer's pagefile system is cleared. If the pagefile system is not on a dedicated drive or partition, make sure the drive has been defragmented. After restarting the computer, immediately open the MXD document, and before running any other applications, print from ArcMap. Restarting releases memory allocations, and not running other applications helps prevent memory fragmentation. This may help print the map successfully.
Printed map appears blocky or pixelated - Rasterization
Layer transparency and BMP-based picture symbols can cause maps to become rasterized when output. The effect of rasterization is that all layers below the data layer containing transparency or BMP picture symbols will be converted to a flat raster image in the export or print spool file. Rasterization can also occur to any layer contained in the same group layer as a transparent layer. To avoid rasterization, BMP picture symbols should be replaced with vector-only EMF pictures or with font based character marker symbols. Eliminating unnecessary use of layer transparency can also help alleviate unwanted layer rasterization.
Detect rasterizing layers
Execute this arcpy.mapping script in the Python Window to report any layers in your map that may be causing rasterization during printing or exporting.
import arcpy
def DetectRasterization():
mxd = arcpy.mapping.MapDocument("CURRENT")
df_list = arcpy.mapping.ListDataFrames(mxd)
foundRasterization = False
noneFoundMsg = "No rasterizing layers were detected."
for df in df_list:
lyr_list = arcpy.mapping.ListLayers(mxd, data_frame=df)
for lyr in lyr_list:
if lyr.isRasterizingLayer or lyr.supports("BRIGHTNESS"):
foundRasterization = True
if lyr.isGroupLayer and lyr.transparency > 0:
print "In data frame '" + df.name + "', the group layer '" + \
lyr.longName + "' is a rasterizing layer:\r",
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is " + str(lyr.transparency) + " percent.\n"
elif not lyr.isGroupLayer:
print "In data frame '" + df.name + "', the layer '" + \
lyr.longName + "' is a rasterizing layer:\r",
if lyr.transparency > 0:
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is " + str(lyr.transparency) + " percent.\n"
else:
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is 0 percent, but the layer may be a\n" + \
"\traster layer or contain rasterizing symbology such\n" + \
"\tas bitmap picture symbols.\n"
del lyr
del lyr_list
del df
if not foundRasterization:
print noneFoundMsg
del df_list
del mxd
DetectRasterization()