Skip To Content

Web マップの高度な印刷

ArcGIS Web API の PrintingTools サービスとそのクライアント印刷ウィジェットは、基本的な印刷を行うためのものです。 高度なオプションを使用して Web マップを変更またはエクスポートする必要がある印刷ワークフローでは、Python の arcpy モジュールで ConvertWebMapToMapDocument (ArcMap の場合) や ConvertWebMapToArcGISProject (ArcGIS Pro の場合) といった変換関数を使用します。

ArcGIS の Web マップ印刷は、Web マップを JSON として表現する機能に依存しています。 Esri が作成した ExportWebMap 仕様は、印刷の範囲とレイヤー情報によって Web マップを JSON として構築する方法を定義しています。 ArcGIS Web API は現在の Web マップを読み取って、自動的に JSON を作成できます。 簡単な印刷のシナリオでは、ArcGIS Server PrintingTools サービスが JSON を読み取り、印刷可能なマップ イメージを返します。

高度な印刷の場合は、Web マップ JSON を PrintingTools サービスに送信する必要はありません。 代わりに、JSON を ArcMap ドキュメント (*.mxd) または ArcGIS Pro プロジェクト (*.aprx) に変換できます。

Python を使用した Web マップの ArcMap マップ ドキュメントへの変換

Web マップ JSON をマップ ドキュメント (*.mxd) に変換するには、ConvertWebMapToMapDocument 関数を使用します。 Web マップの変換後には、マップ ドキュメントに WebMap の完全なステートが含まれます。 ドキュメントは、印刷する前またはエクスポート (ExportToPDFExportToPNG などの関数を使用) する前に、さらに変更を加えることができます。 印刷する前にマップをマップ ブックに追加したり、マップ内の一部のサービス レイヤーを独自のベクター レイヤーに切り替えたりできます。

Python を使用したの Web マップの ArcGIS Pro プロジェクトへの変換

Web マップ JSON を ArcGIS Pro プロジェクト (*.aprx) に変換するには、ConvertWebMapToArcGISProject 関数を使用します。 Web マップの変換後には、プロジェクトに Web マップの完全なステートが含まれます。 Web マップは、印刷する前や別の Python 関数を使用してエクスポートする前に、さらに変更を加えることができます。 ArcMap と同様、印刷する前にマップをマップ ブックに追加したり、マップ内の一部のサービス レイヤーを独自のベクター レイヤーに切り替えたりすることもできます。

さらに詳しい説明、シナリオ、コードのサンプルは、「arcpy.mp を使用した Web マップの印刷」をご参照ください。ステージングされたレイアウト テンプレートの作成方法、Web マップ用 Python スクリプトの作成方法、Web ツールや Web アプリの作成方法が説明されています。

Web からのスクリプトの呼び出し

印刷用に arcpy スクリプトを作成した後は、スクリプト、ツール、モデルを Web サービスとして公開できる ArcGIS Enterprise のジオプロセシング サービスを利用できます。 これにより、ArcGIS Web API からそれらを簡単に呼び出すことができます。

ジオプロセシング スクリプト ツールに Python スクリプトをカプセル化することができます。 ツールのテストを実行して、その結果を ArcGIS Enterprise ジオプロセシング サービスとして公開します。

この種のジオプロセシング スクリプト ツールを作成する最も簡単な方法は、PrintingTools サービス、またはそのサブセットのデフォルトと同じパラメーターを公開することです。 入力 JSON パラメーターは最低限必要なパラメーターです。 この方法でサービスを設計した場合、ArcGIS Web AppBuilder の印刷ウィジェット、および ArcGIS Web マッピング API や Web ビューアーの印刷タスクは、カスタム コーディングなしにそのサービスを使用できます。