Windows 打印机引擎是默认的打印机引擎,并且应该是打印时的首选。Windows 打印机引擎是使用打印机本地驱动程序的必由之路,已由制造商写入打印机。这通常是进行打印时的最简单方案。但如果较大的地图文件(尤其是包含栅格数据的文件)也使用 Windows 打印机引擎,则可能会消耗大量资源。此外还要注意,Microsoft 提供的打印机通用驱动程序属于 Windows 的一部分,通常适用于各种常规任务。但还是建议您从打印机制造商的网站获得最新的驱动程序。
importarcpydefDetectRasterization():mxd=arcpy.mapping.MapDocument("CURRENT")df_list=arcpy.mapping.ListDataFrames(mxd)foundRasterization=FalsenoneFoundMsg="No rasterizing layers were detected."fordfindf_list:lyr_list=arcpy.mapping.ListLayers(mxd,data_frame=df)forlyrinlyr_list:iflyr.isRasterizingLayerorlyr.supports("BRIGHTNESS"):foundRasterization=Trueiflyr.isGroupLayerandlyr.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"elifnotlyr.isGroupLayer:print"In data frame '"+df.name+"', the layer '"+ \ lyr.longName+"' is a rasterizing layer:\r",iflyr.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"dellyrdellyr_listdeldfifnotfoundRasterization:printnoneFoundMsgdeldf_listdelmxdDetectRasterization()