概要
このウィジェットは、印刷サービスを必要とせずに ArcGIS Experience Builder に ArcGIS Pro スタイルの地図印刷をもたらします。ArcGIS Pro からレイアウトファイル(.pagx)としてレイアウトを共有し、ウィジェット設定で一度インポートすると、ウィジェットはブラウザ上でライブマップに対してそのページを再構築します:マップフレーム、タイトルとテキスト、北矢印、縮尺バー、凡例、画像、および線。
https://github.com/brianmcleer/print-advanced-widget
これは最初のリリースであり、ベータ版として公開しています。安定版と呼ぶ前にコミュニティに実際のレイアウトや実際のマップで試してもらいたいと思っています。試してフィードバックを送っていただけると大変助かります。以下の「テストに協力してほしいこと」を参照してください。
注意:ArcGIS Experience Builder Developer Edition 1.19 または 1.20 (React 19) が必要です。1.18 以前はサポートされていません。
注意:ウィジェットの依存関係は EB クライアントフォルダー内の標準 "npm install" で自動的にインストールされます。別途インストールは不要です。
注意:ページを定義するためにウィジェット設定で ArcGIS Pro レイアウトファイル(.pagx)をインポートしてください。また、サーバー側の ExportWebMap サービスを使用したい場合はオプションで Esri の印刷サービスパスもあります。
このウィジェットでできること
- ArcGIS Pro の .pagx レイアウト(マップフレーム、テキスト、線、北矢印、縮尺バー、画像、凡例)をブラウザ上で再現し、本物の Pro 出力に合わせて校正します。
- PDF と SVG を真のベクターとしてエクスポートし、さらに PNG32、PNG8、JPG、GIF、TIFF、および EPS に対応。印刷サービスは不要です。
- サーバー側レイアウト用のオプション Esri 印刷サービスパス(ExportWebMap URL)、これにより AIX も追加されます。
- 印刷範囲プレビューがマップ上に描画されるため、エクスポート前に何が印刷されるかがわかります。現在の縮尺を維持するか、現在の範囲を維持するか、固定縮尺を設定するか、リストから選択しロック切り替えが可能です。
- 12種類の北矢印スタイルと9種類の縮尺バーがサムネイル表示され、「Layout default」オプションもあります。
- 出力座標系(WKID)を指定してマップとは異なる投影法で印刷可能です。
- 作成者情報、著作権、および帰属トークン。凡例およびマップのみのエクスポート。URLによるカスタムフォント(Google Fonts インポート含む)。
- 最近のエクスポートリストと設定全体の XML インポートおよびエクスポート。
- 管理者によるデフォルト設定制御、提供されるフォーマット、およびエンドユーザーが見るランタイムコントロールの管理。
テスト協力してほしいこと
- ご自身の ArcGIS Pro .pagx レイアウト。一つインポートして出力が Pro にどれだけ近いか教えてください。不具合があれば .pagx ファイルとスクリーンショットを送っていただければ再現できます。
- 異なるベースマップや投影法での印刷範囲プレビューと縮尺ロック機能。
- ご自身の ExportWebMap URL を指す Esri 印刷サービスパス。
- 出力座標系でマップとは異なる WKID で印刷する機能。
- PDF 出力時の URL によるカスタムフォントおよび Google Fonts インポート。
報告方法:ここにコメントするか GitHub で issue を開いてください。EB バージョン、ブラウザ、およびブラウザコンソールエラーを含めてください。短い画面録画も非常に役立ちます(私は OBS Studio を使用しています)。
変更履歴:
2026/09/04:
ベータではなくなり、自分のサイトでライブウィジェットとして運用中です。新機能は以下:
- 地図のみエクスポート用に Google Earth (KMZ) エクスポートを追加
- ジオリファレンス付きラスター出力を追加:TIFF 用真の GeoTIFF とワールドファイルおよび
.prj PNG, JPG, GIF 用に追加 - 座標系サポートが固定リストから普遍的になり
.prj 出力、GeoTIFF キー付け、および座標系名トークンをカバー - 時間、サービスレイヤークレジット、空間参照プロパティ、マップフレーム座標、およびマップシリーズページトークンなど完全な ArcGIS Pro 動的テキストサポートを追加
- 縮尺依存凡例フィルタリングを追加
- マップシリーズは各ページに凡例パネルを印刷し、有効なフレームに対してグリッドを再生成するようになりました
- 設定 XML のインポート・エクスポートがグリッド、概要、および凡例デフォルトも往復可能になりました
- 高 DPI 時のシンボル・テキスト・線サイズ修正済み
- 大きな縮尺で画像が縮尺通りに印刷されない問題修正済み
- マップサービスグループの凡例スウォッチ欠落問題修正済み
- 左下および右下凡例配置修正済み
- 「すべてのレイアウトに適用」修正済み
- レイアウト変更時に凡例トグルが更新されない問題修正済み
- 凡例は現在
.pagx の列数とタイトル表示を尊重します
2026/08/12:
Experience Builder 1.21 で凡例アイテムが灰色四角としてレンダリングされる問題修正済み。新しい ArcGIS Maps SDK は Legend ウィジェットを shadow DOM の背後でレンダリングし、それが印刷収集時にシンボルスウォッチを隠していました;スウォッチ抽出は shadow DOM を貫通し、新しい arcgis-legend コンポーネントにも対応し、不足した場合は自動的にレイヤーレンダラーからシンボル構築へフォールバックします。マップやレイアウトへの変更は不要です。この問題報告には @ncramer11
2026/07/23:
Experience Builder 1.21 用 Map Switcher ウィジェット更新:TypeScript エディターエラー(React コンポーネント型付けや不変設定インポート含む)解決済み。ウィジェットバージョンも更新され最新リリースは GitHub で入手可能です。
2026/07/17:
凡例システム全面改良
- 凡例はページ上のライブ Legend ウィジェットから読み取り可能になり、ユーザーが見るものそのまま:レイヤー順序、グループネスト、可視性、およびサブレイヤー階層。また特定ウィジェットへのバインドや自動検出用の Legend ソース設定付き。
- 高解像度シンボロジー:REST 凡例から 288 DPI で取得したマップサービススウォッチと文脈的に一致させた凡例行;ベクタースウォッチ超サンプリング;シンボルはアスペクト比保持描画(線スウォッチは細く丸いマーカー維持)、伸長や空白パッチなし。
- 新しい隣接パネル配置(右・左・下):マップフレームはスペース確保で縮小し、パネル幅はコンテンツ駆動かつ均等な列幅調整;パネルはコーナーロゴなど家具周りでトリミング;作成されたフレーム境界はマップと凡例をまとめて包み込み Pro 設計構成保持。
- 複数ページ凡例:「追加ページ(PDF のみ)」配置では必要なだけ完全なシート数へフォントサイズそのままで分割し継続見出し付き。同じシートサイズ・向きで地図ページと一致させます。
- スマートフィット機能:ウィジェットは実際のライブ凡例サイズ測定し具体的警告(「87 アイテム中約23 は収まらない」)、アイテム削除時には自動的に追加ページへデフォルト(一クリック戻す機能付き)、結果行には切り捨てエクスポート警告表示あり。
- 長いラベルは三行まで折り返し、その後省略記号;孤立行制御で見出しとアイテムが一緒になるよう保持。
- 管理者向けには設定内各レイアウトごとの凡例オン/オフトグル利用可能、エンドユーザー向けにはウィジェット内トグルおよびランタイム配置セレクター付き。
縮尺バー機能強化
- 交互(チェック付き)、ラベル下付きライン、および中央軸縮尺線など12スタイル完全カタログ、それぞれ正確なプレビューパネル付き。
- 本物の Pro 二重縮尺バー:二重交互および二重空洞は常にゼロ点共有2つ測定値印刷、第2単位は自然補完単位(マイル-フィート, メートル-キロメートル)自動選択可能かつ上書き可能。
- 衝突防止単位ラベル付き全スタイル対応および単一・二重モード両方対応済み。
使いやすさとワークフロー改善点多数あり。
- 管理者可視性制御によるランタイムユーザー向け凡例配置およびグリッドタイプ上書き機能付き。
- 'Author' と 'Copyright' フィールドは常時印刷されます;テキスト要素がない場合でも下部余白にきれいな地図製作者クレジット行として表示されます。
- 'すべてのレイアウトに適用' ボタンあり(概要・グリッド・凡例設定);.pagx 再インポート時には該当レイアウトがその場で更新され設定保持されます。
- 'ライブ印刷範囲プレビュー' は凡例パネル・地図のみモード・明示的ピクセル寸法追跡し初回エクスポート前から反映します。
- 'パフォーマンス改善' (同時並行凡例構築&キャプチャ・スウォッチキャッシュ・並列抽出)および全コントロール対象 WCAG アクセシビリティ改善済み。
2026/07/09:
re-exports them so the runtime code does not change at all (widget.tsx is untouched), and setting.tsx now imports from the new file. With that, the settings bundle no longer references esri and loads fine. It also shrank from about 3.3 MB to about 350 KB. I left a comment in printConstants.ts explaining why it needs to stay esri-free.
Commit 2: Swaps the seven indentLevel={1} props on SettingRow for indented. My editor flags indentLevel because it is not in ExB 1.20 typings. No difference in behavior, so feel free to skip this one if you would rather.
- New: Overview inset map. Turn on a zoomed-out locator map with an extent indicator in any corner of the map frame. Configured entirely in the widget settings, no changes to your Pro layout needed.
- New: Grids and graticules, ArcGIS Pro style. Choose a graticule (latitude/longitude, works in any coordinate system), a measured grid (map units), or a reference grid (A-1 index). Line styles, colors, intervals, and labels are configurable, and labels include hemisphere suffixes and halos for readability over imagery.
- New: Runtime toggles let users turn the inset and grid on or off per print.
- Improved: Map capture limit is now automatic based on the graphics card, so large layouts print sharper. The export progress line reports the effective DPI.
- Improved: Long URLs in attribution text now wrap instead of running off the page.
- Fixed: "1 inch equals 0 miles" on layouts using miles at city scales.
07/02/2026:
Initial beta release. Posted to GitHub. Looking for feedback before I mark it stable.