![pdf 有多少页? (在 bash 脚本中计数)](https://linux22.com/image/199315/pdf%20%E6%9C%89%E5%A4%9A%E5%B0%91%E9%A1%B5%EF%BC%9F%20%EF%BC%88%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%AE%A1%E6%95%B0%EF%BC%89.png)
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