ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

マップ ブックに補助ページを挿入する

ArcGIS には、マップ ブックを印刷形式または Adobe PDF 形式で作成するために必要なすべてのツールがあります。マップ ブックとは、一緒に印刷またはエクスポートされるページのコレクションのことです。ページの多くにマップが含まれていますが、その他のページは、テキスト、表形式の情報、目次、タイトル ページ、またはその他のコンテンツで構成されていることがあります。

多くのマップ ブックには、補助ドキュメントが含まれています。これらは、レポート テキスト、テーブル、インデックス、およびその他の補助データである場合があります。このようなタイプのマップ ブックは、ArcMap のデータ ドリブン ページと arcpy.mapping Python スクリプトを組み合わせて使用することで作成できます。

マップ ブックのレポート ページの例

上の例は、ミシガン州アレナク郡の地形マップ ブックを示しています。このマップ ブックには、テキスト情報、グラフ、および表形式データを提供する補助ページが数多く含まれています。このドキュメントは、データ ドリブン ページと arcpy.mapping Python スクリプトを使用して作成できます。

詳細については、「データ ドリブン ページの作成」をご参照ください。

この例には、次の前提が含まれています。

  • データ ドリブン ぺージを含む既存のマップ ドキュメントがある。

    このコード例を、「ArcGIS を使ったマップ ブックの作成」で示されている、シンプル リファレンス シリーズ マップ ブックの例に使用します。

    このマップ ブックは、次のヘルプ トピックで説明する手順に従って、再作成することができます。
    • マップ ブックの開始
    • インデックス フィーチャ (格子状) の作成
    • インデックス フィーチャ (格子状) レイヤーの変更
    • データ ドリブン ページの有効化
    • マップ ブックにロケーター マップを作成する
    • マップ ブックへのダイナミック テキストの追加
    • マップ ブックのエクスポート
  • レポートとグラフを含む PDF ファイルがある。
  • マップ ブックのタイトル ページとして、既存の PDF ファイルが存在する。
  • 概観図ページを含む、既存の PDF ファイルが存在する。

ヒント:

ArcMap を使用して、タイトル、概観図、レポート、およびグラフのページを作成できます。各ページの内容を編集し、それぞれを別の PDF ファイルにエクスポートします。

マップ ブックにはページ番号が表示されるため、データ ドリブン ページが使用しているページ番号は、必ずマップ ブックに挿入する補助ページを考慮して設定する必要があります。[ページ定義クエリ] は [データ ドリブン ページ] のインデックス レイヤーには適用できません。[PageNumber] は、グリッドの作成時に [インデックス フィーチャ (格子状) の作成 (Grid Index Features)] ジオプロセシング ツールによって作成および設定されています。マップ ページの間にページを挿入するため、これらのページ番号は正確ではなくなります。ページ番号用に新しいフィールドを作成して、適切な値を設定する必要があります。そのため、新しいフィールドの [PageNum] が作成され、挿入するページを考慮した値が設定されます。

データ ドリブン ページ インデックス レイヤー属性テーブルの、新しいページ番号フィールドの例

データ ドリブン ページを作成する前に、ページ番号フィールドとして正しいフィールドを選択していることを確認します。

[データ ドリブン ページの設定] の [ページ番号フィールド] の設定例

ページ番号を表示する場合には、正しいテキスト エレメントを使用していることも確認します。[総ページ数付きページ番号] は使用しないでください。この総ページ数は、データ ドリブン ページのみの合計数だからです。タイトル ページやレポート ページなどの、最終的なマップ ブックに含めるその他のページは含まれません。その代わりに、[ページ番号] を使用してこの動的テキストに静的テキストを組み合わせて、「Page <dyn type="page" property="number"/> of 26」のようにページの合計数を示します。

マップ ドキュメントと PDF ファイルの用意ができたら、以下のコードを実行して、最終的なマップ ブックの PDF を作成します。Python ウィンドウまたはスタンドアロンの Python アプリケーションで、このコードを実行することができます。

このトピックのコードは、上記のマップ ブックの例に適用されるものですが、ここに示した手順やヒントを、独自のマップ ブックに適用することもできます。

補助ページをマップ ブックの PDF に挿入します。

import arcpy, os

# Create an output location variable
outDir = r"C:\temp\MBExample\final_output"  

# Create a new, empty pdf document in the specified output location folder
finalpdf_filename = outDir + r"\ArenacMB.pdf"
if os.path.exists(finalpdf_filename):
  os.remove(finalpdf_filename)
finalPdf = arcpy.mapping.PDFDocumentCreate(finalpdf_filename) 

# Add the title page to the pdf
finalPdf.appendPages(r"C:\temp\MBExample\ancillary_pages\TitlePage.pdf")

# Add the overview map to the pdf
finalPdf.appendPages(r"C:\temp\MBExample\maps\IndexMap.pdf")

# Export the Data Driven Pages to a temporary pdf and then add it to the
# final pdf. Alternately, if your Data Driven Pages have already been
# exported, simply append that document to the final pdf.
#
mxdPath = r"C:\temp\MBExample\maps\ArenacDDP Reports.mxd"
tempMap = arcpy.mapping.MapDocument(mxdPath)
tempDDP = tempMap.dataDrivenPages
temp_filename = r"C:\temp\MBExample\temp_pdfs\tempDDP.pdf"
if os.path.exists(temp_filename):
  os.remove(temp_filename)
tempDDP.exportToPDF(temp_filename, "ALL")
finalPdf.appendPages(temp_filename)

# Insert the pdf pages containing the reports and graphs into the final pdf
#
finalPdf.insertPages(r"C:\temp\MBExample\ancillary_pages\Report_pg4.pdf", 4)
finalPdf.insertPages(r"C:\temp\MBExample\ancillary_pages\Report_pg5.pdf", 5)
finalPdf.insertPages(r"C:\temp\MBExample\ancillary_pages\Report_pg7.pdf", 7)

# Update the properties of the final pdf
finalPdf.updateDocProperties(pdf_open_view="USE_THUMBS",
                             pdf_layout="SINGLE_PAGE")

# Save your result
finalPdf.saveAndClose()

# Delete variables
del finalPdf

コードの最初の行は、必要なモジュールをインポートし、最終的なマップ ブックの PDF が保存される、出力場所の変数を作成します。そして、指定された出力場所のフォルダーに、新しい空の PDF ドキュメントを作成します。この PDF が、このスクリプトの最終的な出力となります。

ヒント:

Python などのプログラミング言語は、円記号 (\) をエスケープ文字として扱います。たとえば、\n は改行を表し、\t はタブを表します。パスを指定する際には、スラッシュ (/) を円記号の代わりに使用できます。1 つではなく 2 つの円記号を使用すれば、構文エラーを避けることができます。また、円記号を含む文字列が正しく解釈されるように、文字列の前に文字 r を置くことによって、文字列リテラルを使用することもできます。

詳細については、arcpy.mapping の「PDFDocument クラス」をご参照ください。

コードの次の行は、最終的な PDF にタイトル ページと概観図のページを追加します。この例は、タイトルと概観図のページに使用できる、既存の PDF ドキュメントがあることを前提としています。

次のステップは、マップ ページの追加です。[データ ドリブン ぺージ] を有効にしたマップ ドキュメントが存在する必要があります。この例では、このマップ ドキュメントは ArenacDDP Reports になります。

詳細については、arcpy.mapping の「MapDocument クラス」と「DataDrivenPages クラス」をご参照ください。

次に、レポートとグラフを含む PDF ページを最終版の PDF に挿入します。

最後に、コードによってプロパティが更新され、最終的な PDF を閉じます。

関連トピック

  • ArcGIS でのマップ ブックの作成
  • Alphabetical list of arcpy.mapping classes
  • Alphabetical list of arcpy.mapping functions
  • Python の概要
  • Python スクリプトの新規作成

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル