ArcGIS Desktop을 사용하여 MXD를 PDF 파일로 일괄 내보내기?


9

니코 Burgerhart는 2008 년에 "일괄 수출 PDF로 MXD"다시 전화 환상적인 스크립트를 만들어 http://arcscripts.esri.com/details.asp?dbid=14872 는 ArcGIS 10에서 그것을 구현하는 방법에 어떤 아이디어? 아마도 파이썬을 사용하는 것이 있습니까? 데이터 기반 페이지에는 필적 할만한 것이 없습니다.

다음은 ArcGIS 10의 새로운 메뉴 표시 줄과 맞지 않는 텍스트 파일 읽기 단계입니다.

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의 Pith of Code 샘플 방법 : 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)

보다 확장 된 Toolbox 예제 는 @bteranUFA의 PDF로 MXD 내보내기 를 참조하십시오.


고맙습니다 Mapperz, 거기에 좋은 것들이 많이 생겼습니다 .... 어떤 생각으로 '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를 동일하게 실행할 수 있습니다. (VBA는 계속 지원되지만 다음 릴리스에는 포함되지 않습니다.) 더 나은 방법은이 기능을 애드온으로 다시 작성하는 것입니다.


Jakub에게 감사합니다. ArcGIS 10을 사용하여 VBA를 설치하는 방법에 대한 단계별 지침과의 링크가 있습니까? 부가 기능으로 다시 작성하는 방법에 대한 제안이 있으십니까?
sirgeo

1
ESRI의 라이센스 파일이 필요하며 VBA 설치 프로그램은 기본 설치 DVD의 항목 중 하나입니다. 추가 기능 (죄송합니다)은 VB .NET에 약간의 학습 곡선이 있지만 노력의 가치가 있습니다. 다음은 연습을위한 링크입니다. help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/…
Jakub Sisak GeoGraphics

1

스크립트를 도구 상자에 추가 한 다음 스크립트 도구를 마우스 오른쪽 단추로 클릭하고 아래 이미지와 같은 이름의 디스플레이를 입력하고 아래 이미지와 같이 폴더의 데이터 유형을 선택하여 두 개의 매개 변수를 설정하십시오. 여기에 이미지 설명을 입력하십시오

#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

에서 봐 GP 도구 세트 ESRI의 자원 센터는 일괄 적으로 PDF로 내보내기 거기에 뭔가가있을 수 있습니다.


마음처럼-나 같은 링크.
Mapperz

감사합니다 차드, 어떤 이유로 '지도 문서를 PDF로 내보내기'를 사용할 때 어떤 이유로 잘못된 Mxd 파일 이름 오류가 계속 발생합니까? 스크린 샷 : i.imgur.com/fOaGp.jpg
sirgeo

@Mapperz-D' OH! 내 실수!
채드 쿠퍼

'Export Map Document to PDF'를 사용할 때 잘못된 Mxd 파일 이름 오류가 계속 발생합니까? 스크린 샷 : i.imgur.com/fOaGp.jpg
sirgeo

0

@Guest 와 @bteranUFA 의 기여를 바탕 으로 파이썬 스크립트와 도구 상자를 만들었습니다. 입력 폴더의 모든 MXD를 출력 위치로 내 보냅니다.

에서 여기 다운로드 ArcPlus.tbxScripts\ExportFolder2PDF.py어딘가에 유용한 저장 한 후 읽기 사용 메모를 필요한 경우.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.