PDF에는 몇 페이지가 있나요?
Bash 스크립트에서 이 정보를 얻을 수 있는 방법을 제공할 수 있습니까?
답변1
이것은 내 pdfpages
스크립트입니다. 내가 사용하는 기계에는 다음 중 적어도 하나가 있는 경향이 있습니다.양자 PDF( qpdf
) 또는포플러( pdfinfo
) 이 정도면 충분하지만 이 작업을 수행할 수 있는 다른 도구도 있습니다.
#! /bin/sh
if type qpdf >/dev/null 2>/dev/null; then
pdfpages1 () {
qpdf --show-npages "$1"
}
elif type pdfinfo >/dev/null 2>/dev/null; then
pdfpages1 () {
pdfinfo -- "$1" | sed -n '/^Pages:/ s/.*[^0-9]//p'
}
else
echo 1>&2 "None of the supported tools is available: pdfinfo, qpdf"
fi
for x; do
printf '%8d %s\n' $(pdfpages1 "$x") "$x"
done
답변2
function how_many_pages_pdf() { pdfinfo -- "$1" 2> /dev/null | awk '$1 == "Pages:" {print $2}' ; }
pdffile=article.pdf
n="$( how_many_pages_pdf "$pdffile" )"
echo $n