ArcGIS Web API 中的 PrintingTools 服务及其客户端打印微件用于进行基本打印。 在打印工作流中,如果 Web 地图需要使用高级选项进行修改或导出,请使用 ArcGIS Pro 的 ConvertWebMapToArcGISProject。
ArcGIS 中的 Web 地图打印取决于 Web 地图表示为 JSON 的能力。 Esri 已创建 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 应用程序。
从网站上调用您的脚本
写入用于打印的 arcpy 脚本后,ArcGIS Enterprise 会提供各种地理处理服务,允许将您的脚本、工具和模型显示为 Web 服务。 这样便可以从 ArcGIS Web API 中轻松地调用它们。
您可以选择在地理处理脚本工具中封装您的 Python 打印脚本。 尝试运行您的工具,然后将结果作为 ArcGIS Enterprise 地理处理服务发布出来。
开发此类地理处理脚本工具最简单的方法时确保它所显示的参数与开箱即用的 PrintingTools 服务的参数相同,或为其子集。 输入 JSON 参数是最低要求的参数。 如果您这样设计您的服务,来自 ArcGIS Web AppBuilder 的打印微件和 ArcGIS Web 制图 API 和 Web 查看器中的打印任务将能够使用您的服务,而无需获取自定义编码。