在 Web 应用程序中打印

从 Web 应用程序打印地图面临许多难题,包括合并多项服务、维护图层可见性设置、将项目添加到布局以及在地图之上绘制图形。为帮助您解决这些难题,ArcGIS Server 包含了一项名为 PrintingTools 的地理处理服务。开发 Web 应用程序时,您可以调用 PrintingTools 服务以获取高制图质量的可打印图像。对于高级打印或在大尺寸纸张上打印的情况,可以使用 Python 脚本将 Web 地图转换成 ArcMap 文档 (MXD),然后将 MXD 导出为各种格式以进行打印。

PrintingTools 服务

PrintingTools 是“工具”文件夹中预先配置的一项服务。默认情况下,此服务处于停止状态。如果要支持打印工作流,您必须使用 ArcGIS Desktop 或 ArcGIS Server 管理器启动服务。

ArcGIS Web API 提供了若干可与 PrintingTools 服务进行通信以获取可打印地图的小组件。您提供 PrintingTools 服务的 URL,小组件可完成其他的工作。

如果需要在 Web API 外调用 PrintingTools 服务,或者如果希望直接从 ArcGIS Desktop 或 Python 脚本运行其基础工具“导出 Web 地图”,则必须提供地图当前状态的“JavaScript 对象标记法”(JSON) 定义(符合 Esri ExportWebMap 规范)。这是一个高级工作流,如果使用的是 Web API 则不需要该工作流。

PrintingTools 附带了一组预定义的地图布局以供选择。如果要使用您自己的地图布局,则可以发布一个与 PrintingTools 类似的、您自己的 Web 地图打印服务,并将其指向您自己的布局文件夹。如果希望了解相关详细信息,请参阅使用自己的布局进行打印教程:发布用于打印的其他服务

使用 Python 的高级打印

对于高级打印的情况(例如使用大尺寸纸张的作业),您根本不使用 PrintingTools;而是使用 ArcGIS 附带的 arcpy.mapping Python 模块。例如,arcpy.mapping 包含了一个将 Web 地图转换成 ArcMap 文档 (MXD) 的功能。拥有 MXD 后,即可使用其他 arcpy.mapping 功能将其导出为各种格式、将其包括在地图册中或引用服务器上的高分辨率数据。

要使 Python 脚本对 Web 应用程序可用,可以通过 ArcGIS Server 地理处理服务显示脚本。有关详细信息,请参阅 Web 地图高级打印

9/15/2013