Skip To Content

Web アプリケーションでの印刷

Web アプリケーションから印刷可能なドキュメントを生成するには、いくつかの方法があります。デフォルトでは、ArcGIS for Server には PrintingTools と呼ばれるジオプロセシング サービスが含まれています。Web アプリケーションは PrintingTools サービスを呼び出して、印刷可能なドキュメントを取得します。また、デフォルトの PrintingTools サービスのレイアウトではなく独自のレイアウトを使用して、カスタム印刷サービスを作成することもできます。高度な印刷の場合は、Python スクリプトを使用して Web マップを ArcMap ドキュメント (MXD) に変換した後、MXD を印刷用のさまざまな形式にエクスポートすることができます。

印刷は、Portal for ArcGIS、Web アプリケーション テンプレート、Web AppBuilder for ArcGIS、および 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 です。

PrintingTools サービスは、デフォルトでは停止しています。印刷ワークフローをサポートしたい場合は、ArcGIS Desktop または ArcGIS Server Manager を使用してサービスを開始する必要があります。PrintingTools サービスを開始したら、https://webadaptor.domain.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task. という形式の URL を使用してアクセスできます。

ArcGIS Web API は、PrintingTools サービスと通信して印刷可能なマップを取得できるウィジェットを備えています。PrintingTools サービスの URL を指定すると、ウィジェットにより残りの作業が行われます。Portal for ArcGIS の配置における PrintingTools サービスの使用方法の詳細については、「マップを印刷するためのポータルの構成」をご参照ください。

マップ サービスがキャッシュされている場合に PrintingTools サービスで使用される解像度は、大判印刷や高品質印刷用としては低すぎる場合があります (96 DPI など)。高解像度で印刷する場合には、キャッシュされているマップ サービスでダイナミック レイヤーを有効にすることを推奨します。これにより、低解像度のタイルではなく、目的の解像度 (300 DPI など) のマップ イメージを印刷サービスで取得できるようになります (マップ エクスポート リクエストを使用する)。詳細については、「ダイナミック レイヤーについて」をご参照ください。

バージョン 10.4 以降、PrintingTools サービスでは [レイアウト テンプレート情報の取得] という新しいタスクが使用可能になっています。このタスクでは、レイアウト ページのサイズとアクティブ データ フレームのサイズが提供されます。また、以下のレイアウト エレメントが使用できるかどうかも表示されます。

  • 凡例
  • タイトル テキスト
  • 著作権情報テキスト
  • 作成者テキスト
  • カスタム テキスト エレメント

このタスクをカスタム印刷サービスに追加することもできます。手順については、「チュートリアル: 印刷用サービスの公開」をご参照ください。

カスタム印刷サービス

独自のマップ レイアウトを使用したい場合は、PrintingTools に似た、Web マップを印刷する独自のサービスを公開できます。さまざまなマップ レイアウトで準備した ArcMap ドキュメント (MXD) の独自のフォルダーを参照するようにこのサービスを構成します。

Web 印刷用に独自のサービスを公開する手順 (および独自のレイアウト フォルダーでそれをポイントする手順) については、「チュートリアル: 印刷用サービスの公開」をご参照ください。このチュートリアルでは、後でレイアウトを更新することにした場合に何をすべきかも説明しています。更新方法は、公開前にレイアウト フォルダーをサーバーに登録したかどうかで変わります。チュートリアルには、両方のシナリオの手順が含まれています。

Portal for ArcGIS でカスタム印刷サービスを公開およびカスタマイズするためのチュートリアルには、その他の考慮事項もありますので注意してください。カスタム印刷サービスは、同期ジオプロセシング サービスとして公開する必要があり、印刷サービスの URL は、ポータルの印刷サービスとしてポータルが受け付けるように、HTTPS を使用する必要があります。Portal for ArcGIS の配置におけるカスタム印刷サービスの使用方法の詳細については、「マップを印刷するためのポータルの構成」をご参照ください。

カスタム印刷サービスは複数のデータ フレームを使用するレイアウトを印刷できます。このサービスは、アクティブ データ フレーム内のマップを置き換えるだけです。ただし、データ フレームの間に矩形範囲などの関係がある場合、その関係は印刷サービスでも有効です。たとえば、メイン マップと概観図の 2 つのデータ フレームを持つレイアウトがあるとします。概観図は、メイン マップの現在の範囲を示した矩形範囲を含みます。このレイアウトをカスタム印刷サービスで使用する前に、メイン マップのデータ フレームがアクティブ データ フレームであることを確認する必要があります。Web ユーザーがこのレイアウトのマップをリクエストした場合、メイン マップには現在の Web マップ ビューが表示され、概観図の矩形範囲には、予想どおりメイン マップの範囲が表示されます。

凡例

PrintingTools またはカスタム印刷サービスのどちらであっても、印刷される出力の凡例の振舞いは似ています。フィーチャ サービスを印刷する場合、印刷されるドキュメントの凡例には、マップ範囲内にあるフィーチャの凡例エントリのみが含まれます。一方、その他のサービス タイプの凡例には、マップ範囲に関係なく、フィーチャの凡例エントリがすべて含まれます。

Python を使用した高度な印刷

高度な印刷の場合は、PrintingTools を一切使用せず、その代わりに ArcGIS に付属の Python arcpy.mapping モジュールに含まれている ConvertWebMapToMapDocument 関数を使用できます。ドキュメントを変換すると、マップ ドキュメントに完全な Web マップが含まれます。最終的に印刷または PDF などの共通の形式にエクスポートする前に、マップ ドキュメントにさらに変更を加えることができます。

通常、ConvertWebMapToMapDocument 関数を使用すると、ローカル ベクター データへのサービス レイヤーの変換、マップ ブックの作成、凡例の外観の制御、高度なオプションでのさまざまな形式のエクスポートなどの処理を実行できます。

Python スクリプトを Web アプリケーションで使用できるようにするには、ArcGIS Server ジオプロセシング サービスを介してスクリプトを公開できます。詳細については、「Web マップの高度な印刷」をご参照ください。