ArcGIS Desktopを使用してMXDをPDFファイルにバッチエクスポートしますか?


9

ニコBurgerhartは、2008年に「バッチエクスポートPDFへのMXD」バックと呼ばれる幻想的なスクリプトを作っ http://arcscripts.esri.com/details.asp?dbid=14872 のArcGIS 10でそれを実装する方法任意のアイデア?おそらくPythonを使用しているのでしょうか?データドリブンページには、比較できるものはありません。

以下は、ArcGIS 10の新しいメニューバーで動作しないread meテキストファイルの手順です。

Tool: Batch export MXD to PDF
Purpose: Saves all MXDs in the selected directory to PDFs in the selected output folder
Author: Nico Burgerhart (nicoburgerhart@hotmail.com)
Date: 31 Jan. 2007
INSTALLATION NOTES
------------------
1. Open ArcMap
2. Select Tools > Macro's > Visual Basic Editor
3. Select File > Import file
4. Import BatchExportMXDToPDF.bas
5. Select File > Close and Return to ArcMap
6. Select Tools > Macro's > Macro's
7. Select the BatchExportMXDToPDF mactro
8. Click Run 

回答:


7

マップドキュメントのPDFへのエクスポートがarcpy.mappingモジュールに含まれるようになりました

Esri KBのコードサンプルの要点ハウツー:Pythonを使用してマップドキュメントをPDFにエクスポートする

for mxd in mxd_list:

    current_mxd = arcpy.mapping.MapDocument(os.path.join(ws, mxd))
    pdf_name = mxd[:-4] + ".pdf"
    arcpy.mapping.ExportToPDF(current_mxd, pdf_name)

より拡張されたツールボックスの例については、@ bteranUFAの厚意によりMXDをPDFにエクスポートするを参照してください。


Mapperzに感謝します。良いものがたくさんあるようです。「Export Map Document to PDF」を使用しているときに何らかの理由で無効なMxdファイル名エラーが発生続けます。スクリーンショット:i.imgur.com/fOaGp.jpg
sirgeo

.mxdにスペースまたは特殊文字がありますか?
Mapperz

はい...スペース、アンダースコア、ハイフン。ここにいくつかの例PLR11001200_1101A-BO.mxd 1101A_ LT 314.mxd 1101A_BB 300B.mxd 1101A_BO.mxd があります:スペースとハイフンを取り除く必要があると思いますか?明日の朝、残業をするために仕事に行ったとき、それを撃ちます。
sirgeo

1
Mapperzに感謝します。スペース、アンダースコア、ハイフンをすべて削除した後は、実際に問題なく動作します。
sirgeo

1
追加のリンク(@Mapperzのリンクはもう機能していません):support.esri.com/technical-article/000012420
gisnside

1

これはVBAモジュールのようです。ArcGIS 10でVBAをインストールすると、同じように実行できるはずです。(VBAは引き続きサポートされますが、次のリリースではサポートされません。)これをアドオンとして書き直すことをお勧めします。


Jakubに感謝します。ArcGIS10でVBAをインストールする方法の詳細な手順とのリンクはありますか?アドオンとして書き直す方法について何か提案はありますか?
sirgeo

1
ESRIからのライセンスファイルが必要です。VBAインストーラーはメインインストールDVDのアイテムの1つです。アドイン(申し訳ありませんがアドオンではありません)については、VB .NETには多少の学習曲線がありますが、努力する価値は十分にあります。ウォークスルーのリンクは次のとおり
Jakub Sisak GeoGraphics

1

スクリプトをツールボックスに追加し、スクリプトツールを右クリックして2つのパラメーターを設定し、下の画像のような名前の表示を入力し、下の画像のようなフォルダーのデータ型を選択します。 ここに画像の説明を入力してください

#Export a folder of maps to PDFs at their Map Document set sizes
#Written using ArcGIS 10 and Python 2.6.5
#by: Guest

import arcpy, os

#Read input parameter from user.
path = arcpy.GetParameterAsText(0)

#Write MXD names in folder to txt log file.
writeLog=open(path+"\FileListLog.txt","w")
for fileName in os.listdir(path):
    fullPath = os.path.join(path, fileName)
    if os.path.isfile(fullPath):
        basename, extension = os.path.splitext(fullPath)
        if extension == ".mxd":
            writeLog.write(fullPath+"\n")
            mxd = arcpy.mapping.MapDocument(fullPath)
            print fileName + "\n"
del mxd
print "Done"
writeLog.close()


exportPath =arcpy.GetParameterAsText(1)
MXDread=open(path+"\FileListLog.txt","r")
for line in MXDread:
    #Strip newline from line.
    line=line.rstrip('\n')
    if os.path.isfile(line):
        basename, extension = os.path.splitext(line)
        newName=basename.split('\\')[-1]
        if extension.lower() == ".mxd":
            print "Basename:" +newName
            mxd = arcpy.mapping.MapDocument(line)
            newPDF=exportPath+"\\"+newName+".pdf"
            print newPDF
            arcpy.mapping.ExportToPDF(mxd,newPDF)
            print line + "Export Done"
MXDread.close()
item=path+"\FileListLog.txt"
os.remove(item)
del mxd

0

ESRIリソースセンターでこのGPツールのセットを確認してください。PDFにバッチでエクスポートするためのものがそこにある可能性があります。


心のように-私と同じリンク。
Mapperz

チャドのおかげで、「マップドキュメントをPDFにエクスポート」を使用しているときに、何らかの理由で無効なMxdファイル名エラーが発生し続けます。スクリーンショット:i.imgur.com/fOaGp.jpg
sirgeo

@Mapperz-D'OH!私の間違い!
チャド・クーパー

「マップドキュメントをPDFにエクスポート」を使用すると、無効なMxdファイル名エラーが発生し続ける、などのアイデアはありますか?スクリーンショット:i.imgur.com/fOaGp.jpg
sirgeo

0

@Guestと@bteranUFAの貢献に基づいて、Pythonスクリプトとツールボックスをまとめました。すべてのMXDを入力フォルダーから出力場所にエクスポートします。

ここからダウンロードArcPlus.tbxScripts\ExportFolder2PDF.pyて有用な場所に保存し、必要に応じて使用上の注意を読んでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.