드물지만 한 프로젝트에서 10개 이상의 파일을 만들어야 하는 경우가 있습니다. 이따금 이런저런 이유로 PDF 파일들의 페이지 수를 헤아려야 합니다. 파일 하나씩 열어서 확인하기 귀찮습니다. 파워셸 스크립트를 하나 만들어봅니다.
get-childitem -name *.pdf | foreach-object {write-host $_ | cpdf -pages $_}
cpdf가 편한데, 이거 무료아닙니다. 그래서 "For non-commercial use only"라는 메시지가 출력됩니다.
텍 라이브에 있는 pdfinfo를 사용해 봅니다. 이건 페이지 수만 나타내는 옵션이 없습니다. 그래서 몇 자 더 적어야 합니다.
get-childitem -name *.pdf | foreach-object {write-host $_ | pdfinfo $_} | select-string 'Pages'
합산까지 해주면 더 좋겠지만 이 정도로 만족합니다. (얼마나 자주 쓴다고 ...)
배치 스크립트로 만들려면 어떻게 해야 할까 쓸데없이 궁리해 봅니다. 파워셸처럼 한 줄로 만들지는 못합니다.
pdfpages.cmd
@echo off dir /b *.pdf >pdf_list.txt for /f "usebackq" %%i in (`find /i ".pdf" pdf_list.txt`) do ( echo %%i pdfinfo %%i >pdf_info.txt 2>nul for /f "usebackq delims=" %%j in (`find "Pages" pdf_info.txt`) do echo %%j ) del pdf_info.txt del pdf_list.txt
KTUG 한국 텍 사용자 그룹