ArcGIS Enterprise に付属する PrintingTools サービスに加えて、別の Web 印刷用サービスを公開しなければならない場合もあります。たとえば、サービスを作成し、マップ レイアウト用のユーザー独自のフォルダーを指定するようにそのサービスを構成することができます。また、無償のサービスを公開する一方で、より高度なサービスを有償で提供することもできます。
デフォルトの PrintingTools サービスに付属するレイアウトを更新したり、新しいレイアウトの追加やこのサービスの再公開を行ったりしてはなりません。ユーザー独自の印刷用サービスを作成するには、[Web マップのエクスポート (Export Web Map)] ツールによりジオプロセシング サービスを公開する必要があります。
ArcGIS Pro のこのチュートリアルの対応するワークフローを表示するには、「ArcGIS Pro からの印刷のためのカスタム レイアウトの共有」をご参照ください。
ArcGIS Server へのレイアウト テンプレート フォルダーの登録
準備された ArcMap ドキュメント (*.mxd) のフォルダーを使用して作業します。このフォルダーには Web マップの印刷用にさまざまなレイアウトが含まれています。これがユーザーのレイアウト テンプレート フォルダーになります。
ユーザーのレイアウト テンプレート フォルダーが、現在、サーバー上にあるか、サーバーからアクセス可能な場合は、ArcGIS Server を使用してそのフォルダーを ArcGIS Desktop に登録する必要があります。
レイアウト テンプレート フォルダーをサーバー上、またはサーバーからアクセス可能な場所に移動することができない場合は、何もする必要はありません。レイアウト テンプレート フォルダーは、サービスの公開時にサーバーにコピーされるので、サーバーが確実にそのフォルダーを認識できるようになっています。このオプションを使用するほうが、構成は簡単ですが、将来、レイアウト テンプレートを更新する際に追加の手順を必要とします。
サービスの準備と公開
公開における最初のステップは、サービスに求められるデフォルト値を使って [Web マップのエクスポート (Export Web Map)] ツールを実行することです。次に、[レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールを実行します。次に、その結果をジオプロセシング サービスとして公開します。
- [ジオプロセシング] タブで、[Toolboxes] > [Server Tools] > [印刷] の順に選択します。
- [Web マップのエクスポート (Export Web Map)] ツールをダブルクリックして開きます。
- [JSON 形式の Web マップ] パラメーターは空白のままにします。
印刷可能な画像を取得するために、このサービスのユーザーは、このパラメーターでユーザー独自の Web マップの JSON を送信します。ArcGIS Web API、ArcGIS Enterprise のアプリ テンプレート、および ArcGIS Web AppBuilder の印刷ウィジェットによって、その JSON の生成処理が内部で実行されます。
- [出力ファイル] パラメーターについてはデフォルト値のままにします。このツールをサーバーに公開すると、出力がサーバー ジョブ ディレクトリに格納されます。
- [参照] ボタンをクリックし、レイアウトが保存されているフォルダーを参照して選択することで、[レイアウト テンプレート フォルダー] パラメーターを指定します。
ヒント:
ArcGIS Enterprise にインストールされている基本レイアウトだけを参照する場合は、このパラメーターを空白のままにしておきます。
- 必要に応じて、ドロップダウン リストからレイアウトの 1 つを選択して [レイアウト テンプレート] パラメーターを設定します。これが、ユーザーによるサービス実行時のデフォルトのレイアウトになります。
- ArcMap で [OK] をクリックして、このツールを実行します。
- [Toolboxes] > [Server Tools] > [印刷] の順に選択して [レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールに移動し、このツールを開きます。
- 凡例
- タイトル テキスト
- 著作権情報テキスト
- 作成者テキスト
- カスタム テキスト エレメント
- ステップ 5 で [Web マップのエクスポート (Export Web Map)] ツールの実行中に指定したのと同じレイアウト テンプレート フォルダーを選択し、[OK] をクリックしてスクリプトを実行します。
- [ジオプロセシング] > [結果] の順にクリックして [結果] ウィンドウを表示します。
- [現在のセッション] を展開し、[Web マップのエクスポート] 結果を右クリックして、[共有] > [ジオプロセシング サービス] の順にクリックします。
- [サービスを公開] を選択し、[次へ] をクリックします。
- ArcGIS Server への接続を選択 (または、ボタンをクリックして新規の接続を追加) し、サービスに名前を指定して、[次へ] をクリックします。
- このサービスが存在するフォルダーを選択します。既存のシステム フォルダーまたは [Utilities] フォルダーには公開できません。ユーザー独自のフォルダーまたはルート フォルダーを使用してください。[続行] をクリックします。ここで [サービス エディター] が表示されます。このウィンドウでは、サービスに使用可能なパラメーターの選択肢の設定など、公開前の追加の準備作業を行うことができます。
- [パラメーター] をクリックして、サービスの [実行モード] が [同期] に設定されていることを確認します。リクエストの処理に数秒以上かかると予測される場合は、代わりに [非同期] を選択することもできます。ArcGIS Web AppBuilder アプリで使用される印刷サービスは、[同期] である必要があります。
- 各パラメーターをクリックして、設定されているデフォルト値を調べます。デフォルト値を変更する場合は、[Web マップのエクスポート (Export Web Map)] ツール ダイアログ ボックスに戻って、このチュートリアルの前のステップで実行したとおりに値を設定する必要があります。パラメーターの [入力モード] を [定数値] に設定すると、パラメーターを完全にエンドユーザーに非表示にし、エンド ユーザーにデフォルト値を使用させることができます。
注意:
[Web マップのエクスポート (Export Web Map)] ツールに関する既知の制限により、エンド ユーザーに提供されるパラメーターの選択肢をフィルタリングすることはできません。
- [結果の追加] をクリックして、スクリプト ツールの実行による [レイアウト テンプレート情報の取得] の結果を追加します。
- [共有] をクリックしてサービスを公開します。
データがサーバーにコピーされることに関して警告を受信した場合は、[OK] をクリックします。この処理では、デフォルトの出力画像がコピーされますが、わずかなデータ量です。
- 自分のサービスが正常に公開されていることを、ArcGIS Server Manager または ArcGIS Server Services Directory で参照して確認します。
[レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールでは、[レイアウト テンプレート情報の取得] タスクを印刷サービスに追加できます。このタスクでは、レイアウト ページのサイズとマップ フレームのサイズが提供されます。また、以下のレイアウト エレメントが使用できるかどうかも表示されます。
これで、ユーザーの新規サービスが、ArcGIS Web API で提供される印刷ウィジェットで参照できるようになりました。印刷サービスの URL は、ArcGIS Server Services Directory にあります。
ArcGIS Enterprise ポータルでカスタム印刷サービスを使用するには、この URL (Web マップのエクスポート タスクを含む) をコピーして、[印刷] の [ユーティリティ サービス] ダイアログ ボックスに貼り付けます。ポータルは、印刷ユーティリティ サービスに対して、HTTPS を使用している URL のみを受け付けるので注意してください。
レイアウト テンプレートの更新
レイアウト テンプレート フォルダー内のレイアウトを更新する場合、該当するワークフローは、公開前にレイアウト テンプレート フォルダーをサーバーに登録しているかどうかで決まります (上記の「ArcGIS Server へのレイアウト テンプレートの登録」セクションを参照)。新しいレイアウトをフォルダーに追加するか、既存のレイアウトを更新するかも重要です。これは、作成したジオプロセシング タスクが実行時にレイアウト テンプレート フォルダーにあったレイアウトのリストを保持するためです。
公開前にレイアウト テンプレート フォルダーをサーバーに登録している場合、これは、サーバーがユーザーのレイアウトを認識できることを意味します。フォルダー内の既存のレイアウト ファイル (*.pagx) に対して更新を行うと、変更されたレイアウトがすぐに利用可能になります。ただし、サーバーは、サービスを公開した後に追加される新しいレイアウトを認識しません。
したがって、次のいずれかに該当する場合には、変更内容が ArcGIS Server ユーザーに表示されるようにサービスの上書きを実行する必要があります。
- カスタム印刷サービスを公開する前にレイアウト テンプレート フォルダーをサーバーに登録していません。つまり、公開時にレイアウトがサーバーにコピーされています。
- カスタム印刷サービスを公開した後、新しいレイアウト テンプレートをフォルダーに追加して、ユーザーが使用できるようにします。
カスタム印刷サービスの上書きと再公開
サービスを上書きして、更新内容を利用可能にするには、以下の手順に従います。
- ArcMap で、[Web マップのエクスポート (Export Web Map)] ツールを開き、前述のように、必要なデフォルト値を使ってツールを実行します。
- ジオプロセシング結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。
- [既存サービスを上書き] オプションをオンにし、[次へ] をクリックします。
- 上書きするサービスの名前をクリックして [継続] をクリックします。
メモ:
これは、デフォルトの PrintingTools ツールではなく、公開したカスタム印刷サービスである必要があります。
- [サービス エディター] で、すべてのサービス プロパティが目的の値に設定されていることを確認し (すべてのサービス プロパティは、デフォルトで、ユーザーが最初にサービスを公開したときに選択したプロパティに設定されます)、[公開] をクリックします。
選択したオプションによって、初回公開時に設定されたすべてのオプションが上書きされます。レイアウト テンプレート フォルダー (更新を含む) がサーバーにコピーされ、サービスを最初に公開したときにその場所に配置されたレイアウト テンプレート フォルダーを上書きします。
ArcGIS Enterprise で使用する ArcMap の印刷サービスを準備する際の考慮事項
ArcGIS Enterprise ポータルで使用されるレイアウトを ArcMap で作成するときは、次に示すいくつかのベスト プラクティスに従うようにしてください。
- [タイトル] を挿入し、タイトル テキストを空白のままにしておくことで、印刷時にポータルの Web マップの名前がタイトル テキスト ボックスに読み込まれるようにします。保存されていない Web マップは、[マイ マップ] というタイトルを使用して印刷されます。
- [作成者] 動的テキストを挿入すると、ユーザーの名前を印刷できます。
- [現在の日付] 動的テキストを挿入すると、マップが印刷された日付を表示できます。
- [現在の時刻] 動的テキストを挿入すると、マップが印刷された時刻を表示できます。
注意:
レイアウトに [ユーザー名] 動的テキストを挿入しないでください。この動的テキストには、印刷サービスに関する機密情報が読み込まれます。
効果的なページ レイアウトの作成の詳細については、「ページ レイアウトのクイック ツアー」をご参照ください。