Skip To Content

Web 地图高级打印

ArcGIS Web API 中的 PrintingTools 服务及其客户端打印微件用于进行基本打印。 在打印工作流中,如果 Web 地图必须使用高级选项进行修改或导出,请使用 ArcGIS ProConvertWebMapToArcGISProject

ArcGIS 中的 Web 地图打印取决于 Web 地图表示为 JSON 的能力。 ExportWebMap 规范用于定义如何使用打印范围和图层信息将为 Web 地图构建 JSON 表达式。 ArcGIS Web API 可以读取您当前的 Web 地图并创建 JSON。 在简单打印情况下,ArcGIS Server 的 PrintingTools 服务读取 JSON 并返回可打印的地图图像。

在高级打印情况下,Web 地图 JSON 不必发送到 PrintingTools 服务。 相反,您可以将 JSON 转换为 ArcGIS Pro 工程 (.aprx)。

使用 Python 将 Web 地图转换为 ArcGIS Pro 工程

要将 Web 地图 JSON 转换为 ArcGIS Pro 工程 (.aprx),请使用 ConvertWebMapToArcGISProject 函数。 Web 地图转换后,工程中存在 Web 地图的完整状态。 之后,可在打印 Web 地图之前对其进行进一步的修改,或使用其他 Python 函数将其导出。 也可以在打印地图前将其添加至地图册,或使用您自己的矢量图层切换地图中的一些服务图层。

有关更详细的介绍、情景和代码示例,请参阅使用 arcpy.mp 打印 Web 地图,其中介绍了如何创作过渡布局模板、为 Web 地图创作 Python 脚本以及创建 Web 工具和 Web 应用程序。

ArcGIS Pro 3.1 安装附带一个名为 PrintingTools.atbx 的工具箱,其中包含预配置的“导出 Web 地图”和“获取布局模板信息”脚本工具,可以简化编写基于 ArcPy 的打印服务的过程。 工具箱位于 <ArcGIS Pro installation location>\Resources\ArcToolBox\Templates\PrintService 目录中。

从网站上调用您的脚本

写入用于打印的 arcpy 脚本后,ArcGIS Enterprise 会提供各种地理处理服务,允许将您的脚本、工具和模型显示为 Web 服务。 这样便可以从 ArcGIS Web API 中调用它们。

您可以选择在地理处理脚本工具中封装您的 Python 打印脚本。 尝试运行您的工具,然后将结果作为 ArcGIS Enterprise 地理处理服务发布出来。

开发此类地理处理脚本工具时,需确保它所显示的参数与开箱即用的 PrintingTools 服务的参数相同,或为其子集。 输入 JSON 参数是最低要求的参数。 如果您这样设计您的服务,来自 ArcGIS Web AppBuilder 的打印微件和 ArcGIS Web 制图 API 和 Web 查看器中的打印任务将能够使用您的服务,而无需获取自定义编码。