More

Specifying alternate symbology for print vs screen


Is there a way to specify an alternate symbology for print output in ArcMap (as opposed to what is currently on-screen? I am thinking along the lines of the functionality offered by CSS.

For instance, the on-screen representation of a line might be dashed, but in print it might need to be a double line with a thicker width.

The core issue is that we have users needing to view production layers with overlaid development layers on screen - so a non-standard symbology is helpful here. When design is complete, only the final design layers are printed, but should be represented with the "production" symbology.

Currently using Arc 10.0, but open to solutions requiring other versions and/or scripting.


Both Chris W's comment and mr.adam's answer employed pairs of mxd's or multiple data frames to hold pairs of symbology. This got me to thinking about a similar approach.

Multiple layer groups could be used to hold multiple symbologies (eg a "design" group and a "print" group). The user could enable the "design" group while doing design work. When the design work was finished, simply disable the "design" group and enable the "print" group.

If used in the same data frame, this approach has the added bonus of leaving the extent intact.


You could set up an .mxd that has all of the print symbology and scale bar, etc. You would never open this document, but you'd build a tool/script that would be run from the viewer mxd. That tool could look at that current viewer, take the extent and data sources and feed them into the template mxd (then save it!) and export that mxd to a pdf. Basically, you'd be replacing File > Export map… with a custom tool in a toolbox.

Actually implementing this would vary a lot based on how consistent your layers are (are you viewing the same datasets all the time?) and how variable your outmap maps are (does the scale change significantly from map to map? Do you have a standard printed map page size?). But it's a starting idea…

More simply, you could just build a script that does a few Apply Symbology From Layer operations (using the preset production symbology) on layers in the viewer mxd and go from there. For example, create a new data frame called "production" in the viewer mxd, leave it setup in layout and have the script remove/add/symbolize layers in that data frame and then (save!) export.