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

  1. Click File > Page and Print Setup on the main menu to open the Page and Print Setup dialog box.
  2. You can set your layout page size as shown here.
    Using the Page and Print Setup dialog box to set the layout size
    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).
    NoteNote:
    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.
  3. 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).
  4. Set the page size by typing the preferred page dimensions into the Width and Height boxes.
    Setting a custom page size for your layout
    Alternatively, you can select a standard page size from the Standard Sizes drop-down list, such as ANSI C, Architectural D, or ISO A2.
    Choosing a standard page size for your layout
  5. 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.

    Why you must reset your data frame to fit your new layout size

Selecting a printer engine

ArcGIS supports three printer engines:

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.

Output Image Quality slider, set to Fast
Output Image Quality set to Fast, showing the preview image highly pixelated

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.

Output Image Quality set to Best
Output Image Quality set to Best

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.

Tiling a map for printing

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()

Related Topics


2/16/2012