ArcGIS Web API の PrintingTools サービスとそのクライアント印刷ウィジェットは、基本的な印刷を行うためのものです。 高度なオプションを使用して Web マップを変更またはエクスポートする必要がある印刷ワークフローでは、ArcGIS Pro の ConvertWebMapToArcGISProject を使用します。
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 のインストールには、ArcPy ベースの印刷サービスを記述するプロセスを簡素化するために、あらかじめ設定された Web マップのエクスポートおよびレイアウト テンプレート情報の取得スクリプト ツールを含む PrintingTools.atbx という名前のツールボックスがあります。 このツールボックスは <ArcGIS Pro installation location>\Resources\ArcToolBox\Templates\PrintService ディレクトリにあります。
Web からのスクリプトの呼び出し
印刷用に arcpy スクリプトを作成した後は、スクリプト、ツール、モデルを Web サービスとして公開できる ArcGIS Enterprise のジオプロセシング サービスを利用できます。 これにより、ArcGIS Web API からそれらを呼び出すことができます。
ジオプロセシング スクリプト ツールに Python 印刷スクリプトをカプセル化することができます。 ツールのテストを実行して、その結果を ArcGIS Enterprise ジオプロセシング サービスとして公開します。
この種のジオプロセシング スクリプト ツールを作成するには、[PrintingTools] サービス、またはそのサブセットのデフォルトと同じパラメーターを公開します。 入力 JSON パラメーターは最低限必要なパラメーターです。 この方法でサービスを設計した場合、ArcGIS Web AppBuilder の印刷ウィジェット、および ArcGIS Web マッピング API や Web ビューアーの印刷タスクは、カスタム コーディングなしにそのサービスを使用できます。