PowerShell은 사용할 수록 멋진 도구인것 같습니다.
PowerShell로 할 수 있는 많은 작업이 있지만, 이번에는 파워포인트 파일을 PDF로 변환하는 과정을 기존의 번거로운 방식을 탈피해 한 번에 깔끔하게 할 수 있는 방법을 설명합니다.
[적용 환경]
● 정품 Office 2010 이상.
● Windows 7 이상의 클라이언트 운영체제로 PowerShell v3.0 이상
먼저 기존의 번거로운 방법으로 PDF 변환은 다음 그림과 같이 각 PPT 파일을 열고 [내보내기] 메뉴를 찾아서 파일의 횟수 만큼 실행하는 과정이 있습니다.
<그림 1> 번거로운 방법
이와 같은 번거로움을 PowerShell로 해결하려면, 사전 지식으로 Office Interop Object에 대한 학습이 필요합니다. 하지만 여기서는 PowerShell에서 Office 어셈블리를 가져다 프로그래밍 하듯이 사용할 수 있다는 정도만 언급합니다. PowerShell에 대해 더 궁금 하다면, 필자가 오랫동안 연재해온 <마이크로소프트웨어>의 "관리 효율성 증대를 위한 도구 PowerShell"과 Technet과 MSDN을 찾아보시기 바랍니다.
다음은 PPT 파일을 PDF로 변환할 수 있도록 작성한 PowerShell 스크립트 입니다. 주석을 참고하여 대략의 흐름만 파악해보세요.
바로 사용할 수 있도록 스크립트 파일을 첨부했으니, 다운로드 받아 이용하시기 바랍니다.
☞ 다운로드: PptxToPdf.ps1
# 파워포인트를 시작합니다.
$pptx = new-object -com powerpoint.application
#$pptx.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
# 파워포인트 파일이 있는 위치(폴더)를 설정합니다.
$filePath=Read-Host -Prompt '파워포인트 파일이 있는 폴더 경로를 입력하세요.(예, "C:\Test\")'
$filePath=$filePath -replace '"',''
# 저정한 위치(폴더)의 파워포인트 파일을 하나씩 처리 합니다.
Foreach($inFile in $(ls $filePath -Filter "*.pptx")){
Set-ItemProperty ($filePath + $inFile) -name IsReadOnly -value $false
$filename = Split-Path $inFile -leaf
$file = $filename.Split(".")[0]
$outFile = $filePath + $file + ".pdf"
# 파워포인트 파일을 오픈합니다.
$slides = $pptx.Presentations.Open($filePath + $inFile)
# PDF로 저장합니다.
$inMsg= $filePath + $file + ".pdf 생성중"
Write-Host -Message $inMsg
$saveOption= [Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType]::ppSaveAsPDF
$slides.SaveAs($outFile,$saveOption)
# 오픈된 파워포인트 파일을 종료합니다.
$slides.Close();
$outMsg=$filePath + $file + ".pdf 생성 완료!"
Write-Host $outMsg
}
<그림 2> PowerShell에서 PPT를 PDF로 변환하는 모습
' Azure & Windows > PowerShell' 카테고리의 다른 글
How to fix PowerShell ISE Module Browser installation (0) | 2018.04.25 |
---|---|
Try Azure PowerShell for fun (for 2018 Global Azure Boot Camp) (0) | 2018.04.21 |
Remote Domain Join using PowerShell (0) | 2016.09.26 |