除 ArcGIS Enterprise 附带的 PrintingTools 服务外,有时可能还需要发布用于 web 打印的其他服务。例如,可创建一项服务,然后配置该服务,使其指向您自己的地图布局文件夹。或者,可在有偿提供一项更高级服务的同时发布一项免费提供的服务。
您不应更新默认 PrintingTools 服务随附的布局,也不应添加新布局和重新发布此服务。要配置您自己的打印服务,需要通过导出 Web 地图工具发布地理处理服务。
要在 ArcGIS Pro 中查看本教程的等效工作流,请参阅共享自定义布局以从 ArcGIS Pro 中进行打印。
将您的布局模板文件夹注册到 ArcGIS Server
您将使用准备就绪的 ArcMap 文档 (.mxd) 文件夹,这些文档含有用于 Web 地图打印的不同布局。这是您的布局模板文件夹。
如果布局模板文件夹当前位于服务器上,或者可以通过服务器进行访问,则应使用 ArcGIS Server 将该文件夹注册到 ArcGIS Desktop。
如果无法将布局模板文件夹放到服务器上,或放到通过服务器可以访问的位置,则无需执行任何操作。发布服务时,将布局模板文件夹复制到服务器,从而确保服务器可以访问该文件夹。虽然这个选项很容易配置,但在以后更新布局模板时要执行更多步骤。
准备和发布服务
要发布服务,先运行导出 Web 地图工具,该工具包含您的服务所需的默认值。下一步,运行获取布局模板信息脚本工具。然后将结果发布为地理处理服务。
- 在地理处理选项卡上,浏览至工具箱 > 服务器工具 > 打印。
- 双击导出 Web 地图工具将其打开。
- 将作为 JSON 的 Web 地图参数留空。
要获得可打印图像,此服务的用户将提交自己的 Web 地图 JSON 用于此参数。ArcGIS Web API、ArcGIS Enterprise 应用程序模板和 ArcGIS Web AppBuilder 中的打印微件将在后台生成此 JSON。
- 保留输出文件参数的默认值。将此工具发布到服务器之后,输出将被放置在服务器作业目录中。
- 通过单击浏览按钮并浏览至存储布局的文件夹,提供布局模板文件夹参数。
提示:
如果您只想参考使用 ArcGIS Enterprise 安装的基本布局,请将此参数留空。
- 或者从下拉列表中选择一个布局,以此设置布局模板参数。这将是用户运行服务时的默认布局。
- 在 ArcMap 中单击确定以运行工具。
- 浏览至工具箱 > 服务器工具 > 打印至获取布局模板信息脚本工具并将其打开。
- 图例
- 标题文本
- 版权文本
- 作者文本
- 自定义文本元素
- 选择运行步骤 5 中导出 Web 地图工具步骤时指定的相同布局模板文件夹,单击确定运行脚本。
- 单击地理处理 > 结果,显示结果窗口。
- 展开当前会话,右键单击导出 Web 地图结果,然后单击共享为 > 地理处理服务。
- 选择发布服务,然后单击下一步。
- 选择到 ArcGIS Server 的连接(或单击该按钮添加新连接),为该服务指定一个名称,然后单击下一步。
- 选择此服务所在的文件夹。您无法发布到现有系统或工具文件夹。必须使用您自己的文件夹或根文件夹。单击继续。此时,您将查看服务编辑器,可于发布前在此服务编辑器中进行更多准备工作,例如,设置服务可用的参数选择。
- 单击参数,确保将服务的执行模式设置为同步。如果期望请求时间超过几秒钟,也可以选择异步。ArcGIS Web AppBuilder 应用程序中使用的打印服务必须设置为同步。
- 单击每一个参数,检查设置的默认值。如果要更改默认值,需要返回导出 Web 地图工具对话框并在此设置值,如本教程中前几个步骤所述。通过将参数的输入模式设置为常量值,可以完全隐藏该参数,强制最终用户使用默认值。
警告:
由于导出 Web 地图工具存在已知局限性,您无法筛选最终用户可用的参数选择。
- 单击添加结果,并通过运行脚本工具添加获取布局模板信息结果。
- 单击共享以发布服务。
如果收到当前正在复制到服务器的数据相关的警告,请单击确定。这仅复制了非大量数据的默认输出图像。
- 通过浏览至 Manager 或服务目录中的服务来验证服务发布是否正确。
获取布局模板信息脚本工具允许将获取布局模板信息任务添加至打印服务。该任务提供布局页面的大小和地图框的大小。还会显示下列布局元素是否可用:
此时,在由 ArcGIS Web API 提供的打印微件中,可以引用新服务。可在您的 ArcGIS 服务目录中找到打印服务的 URL。
要通过 ArcGIS Enterprise 门户使用自定义打印服务,复制此 URL(包括导出 Web 地图任务),然后将其粘贴在实用程序服务对话框中以进行打印。请注意,门户仅接受使用 HTTPS 的 URL 用于其打印实用程序服务。
更新布局模板
如果要更新布局模板文件夹中的布局,需要根据发布前是否将布局模板文件夹注册到服务器来确定相应的工作流(请参阅上述“将布局模板注册到 ArcGIS Server”部分)。要将新布局添加到文件夹还是更新现有布局也很重要。这是因为您创建的地理处理任务会保留执行时布局模板文件夹中的布局列表。
如果发布前将布局模板文件夹注册到服务器,则意味着服务器可以访问布局。如果您更新文件夹中的现有布局文件 (.pagx),则您修改的布局将立即可用。但是,服务器将不会看到您在发布服务后添加的任何新布局。
因此,如果存在以下任一情况,您将需要执行服务覆盖,以使您的更改可供 ArcGIS Server 用户使用:
- 发布自定义打印服务前未将布局模板文件夹注册到服务器,这意味着在发布时将布局复制到服务器。
- 发布自定义打印服务后,您想要将新的布局模板添加到该文件夹,并使其可供用户使用。
覆盖并重新发布您的自定义打印服务
请按照以下步骤覆盖服务并使您的更新可用:
- 在 ArcMap 中,打开导出 Web 地图工具,然后使用所需的默认值运行该工具,如上一部分所述。
- 右键单击地理处理结果,然后选择共享为 > 地理处理服务。
- 选择覆盖现有服务选项,然后单击下一步。
- 单击您要覆盖的服务的名称,然后单击继续。
注:
这应该是您发布的自定义打印服务,而不是默认 PrintingTools 服务。
- 在服务编辑器中,确认是否所有服务属性设置都符合您的意愿(默认情况下,这些服务属性应是您最初发布服务时选择的属性),然后单击发布。
您选择的选项覆盖了第一次发布过程中设置的所有选项。布局模板文件夹(包括更新)复制到服务器中,并替换了最初发布服务时放置在此处的布局模板文件夹。
准备将 ArcMap 打印服务用于 ArcGIS Enterprise 时的注意事项
在 ArcMap 中创建用于 ArcGIS Enterprise 门户的布局时,以下最佳做法可供使用:
- 插入一个标题并将标题文本留空,以便在打印时在此标题文本框中填充您门户 web 地图的名称。未保存的 Web 地图会以 My Map 为标题打印。
- 插入创建者动态文本以打印用户的名称。
- 插入当前日期动态文本以显示地图的打印日期。
- 插入当前时间动态文本以显示地图的打印时间。
警告:
请勿在布局中插入用户名动态文本。该动态文本会填充有关打印服务的敏感信息。
有关创建高效页面布局的详细信息,请参阅页面布局快速浏览。