Web アプリケーションから印刷可能なドキュメントを生成するには、いくつかの方法があります。 ArcGIS Enterprise には PrintingTools と呼ばれるジオプロセシング サービスが含まれています。 Web アプリケーションは PrintingTools サービスを呼び出して、印刷可能なドキュメントを取得します。 また、デフォルトの PrintingTools サービスのレイアウトではなく独自のレイアウトを使用して、カスタム印刷サービスを作成することもできます。 高度な印刷の場合は、Python スクリプトを使用して Web マップを ArcGIS Pro プロジェクト (.aprx) に変換した後、プロジェクト内のマップやレイアウトを印刷用のさまざまな形式にエクスポートすることができます。
印刷は、ArcGIS Enterprise ポータル、Web アプリケーション テンプレート、ArcGIS Web AppBuilder、および ArcGIS Web API を使用して作成されたアプリケーションに対して構成できます。 Web AppBuilder や Web アプリケーション テンプレートを使用して作成されたアプリケーションを含むポータルに印刷機能を提供する詳細については、『Portal for ArcGIS 管理者ガイド』の「マップを印刷するための組織の構成」をご参照ください。
PrintingTools サービス
PrintingTools は、Utilities フォルダーにある事前に設定されたサービスで、一連の事前定義済みマップ レイアウトの 1 つを使用して、印刷可能なドキュメントを作成します。 これには、縦方向および横方向の、8.5 x 11 インチ、11 x 17 インチ、A3、A4 用紙サイズでの基本的なデザインが含まれます。 それぞれのレイアウトには、方位記号、縮尺記号および縮尺比率、凡例、日付、およびタイトルが含まれています。 PrintingTools サービスでサポートされている出力形式は、PDF、PNG32、PNG8、JPG、GIF、EPS、SVG、SVGZ、TIFF、および AIX です。
PrintingTools サービスは、デフォルトでは停止しています。 印刷ワークフローをサポートしたい場合は、ArcGIS Server Manager を使用してサービスを開始する必要があります。 PrintingTools サービスを開始したら、次の形式の URL を使用してアクセスできます: https://webadaptorhost.domain.com/webadaptorname/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task.
ArcGIS Web API は、PrintingTools サービスと通信して印刷可能なマップを取得できるウィジェットを備えています。 PrintingTools サービスの URL を指定すると、ウィジェットにより残りの作業が行われます。 ArcGIS Enterprise ポータルでの PrintingTools サービスの使用方法の詳細については、「マップを印刷するための組織の構成」をご参照ください。
注意:
マップ サービスがキャッシュされている場合に PrintingTools サービスで使用される解像度は、大判印刷や高品質印刷用としては低すぎる場合があります (96 DPI など)。 高解像度で印刷する場合には、キャッシュ マップ サービスでダイナミック レイヤーを有効にすることを推奨します。 これにより、低解像度のタイルではなく、目的の解像度 (300 DPI など) のマップ イメージを印刷サービスで取得できるようになります (マップ エクスポート リクエストを使用する)。 詳細については、「ダイナミック レイヤーについて」をご参照ください。[レイアウト テンプレート情報の取得] タスクでは、レイアウト ページのサイズとマップ フレームのサイズが提供されます。 また、以下のレイアウト エレメントが使用できるかどうかも表示されます。
- 凡例
- タイトル テキスト
- 著作権情報テキスト
- 作成者テキスト
- カスタム テキスト エレメント
このタスクをカスタム印刷サービスに追加することもできます。
注意:
独自のレイアウト テンプレートを PrintingTools サービスで使用することはお勧めしません。 代わりに、カスタム印刷サービスを公開する必要があります。
凡例
PrintingTools またはカスタム印刷サービスのどちらであっても、印刷される出力の凡例の振舞いは似ています。 フィーチャ サービスを印刷する場合、印刷されるドキュメントの凡例には、マップ範囲内にあるフィーチャの凡例エントリのみが含まれます。一方、その他のサービス タイプの凡例には、マップ範囲に関係なく、フィーチャの凡例エントリがすべて含まれます。
印刷サービスは凡例を自動的に調整して、現在の範囲内で表示できるフィーチャのパッチのみを表示します。 これは、ArcGIS Pro から ArcGIS Enterprise に公開されたマップ サービスに適用され、特に設定をする必要はありません。
Unicode 文字
PrintingTools サービスのデフォルト レイアウト テンプレートは、Unicode 文字をサポートするフォントを使用していません。 このため、タイトルや凡例項目、特に国際文字で問題が発生する可能性があります。 この問題を解決するには、独自のレイアウト テンプレートを使用してカスタム印刷サービスを公開し、Unicode 文字をサポートするフォントを設定することを検討してください。
- ArcGIS Pro の凡例エレメントを操作する際、デフォルトの凡例項目の Unicode 文字をサポートするフォントを設定できます。
カスタム印刷サービス
独自のマップ レイアウトを使用したい場合は、PrintingTools に似た、Web マップを印刷する独自のサービスを公開できます。 この操作は、ArcGIS Pro 2.1 以降から行うことができます。 さまざまなマップ レイアウト (ArcGIS Pro のレイアウト ファイル (.pagx)) で準備した独自のフォルダーを参照するように、このサービスを構成します。
ユーザー独自の印刷用カスタム ツールの公開手順については、「ArcGIS Pro からのカスタム レイアウトを使用する印刷サービス Web ツールの共有」をご参照ください。 このワークフローでは、フェデレートされた ArcGIS Server サイトに公開されたジオプロセシング サービスを活用する Web ツールを ArcGIS Enterprise ポータルに共有します。
これらのワークフローでは、後でレイアウトを更新することにした場合に何をすべきかも説明しています。 更新方法は、公開前にレイアウト フォルダーをサーバーに登録したかどうかで変わります。ワークフローには、両方のシナリオの手順が含まれています。
ArcGIS Enterprise ポータルでカスタム印刷ツールを公開および使用するためのトピックには、その他の考慮事項もありますので注意してください。 カスタム印刷サービスは、同期ジオプロセシング サービスとして公開する必要があり、印刷サービスの URL は、ポータルの印刷サービスとしてポータルが受け付けるように、HTTPS を使用する必要があります。 ArcGIS Enterprise ポータルでのカスタム印刷サービスまたは Web ツールの使用方法の詳細については、「マップを印刷するための組織の構成」をご参照ください。
カスタム印刷サービスは複数のマップ フレームまたはデータ フレームを使用するレイアウトを印刷できます。
- ArcGIS Pro から Web ツールの一部として公開されている印刷サービスは、[WEBMAP_MAP_FRAME] (大文字と小文字は区別されます) という名前を付けたマップ フレームに関連付けられたマップを更新します。
注意:
[WEBMAP_MAP_FRAME] に関連付けられたマップから、すべてのレイヤーを削除することをお勧めします。 ただし、一部の高度なケースでは、マップ内にレイヤーを追加する必要があり、印刷サービスによってそれらが削除されることはありません。
Python を使用した高度な印刷
高度な印刷の場合は、PrintingTools を一切使用せず、 その代わりに Python arcpy モジュールの ConvertWebMapToArcGISProject 関数を使用できます。 ドキュメントを変換すると、ArcGIS Pro プロジェクト (.aprx) に完全な Web マップが含まれます。 最終的に印刷または PDF などの共通の形式にエクスポートする前に、ArcGIS Pro プロジェクトのマップまたはレイアウトにさらに変更を加えることができます。
通常、これらの変換関数を使用すると、ローカル ベクター データへのサービス レイヤーの変換、マップ ブックの作成、凡例の外観の制御、高度なオプションでのさまざまな形式のエクスポートなどの処理を実行できます。
Python スクリプトを Web アプリケーションで使用できるようにするには、ArcGIS Server ジオプロセシング サービスを介してスクリプトを公開できます。 詳細については、「Web マップの高度な印刷」をご参照ください。