我正在动态生成PDF。如何使用Shell脚本检查PDF中的页数?

最佳答案

没有任何额外的包装:

foo=$(strings < pdffile.pdf | sed -n 's|.*/Count -\{0,1\}\([0-9]\{1,\}\).*|\1|p' | sort -rn | head -n 1)
使用pdfinfo:
foo=$(pdfinfo pdffile.pdf | awk '/^Pages:/ {print $2}')
使用pdftk:
foo=$(pdftk pdffile.pdf dump_data|grep NumberOfPages| awk '{print $2}')

您还可以通过pdfinfo递归求和所有PDF的总页数,如下所示:
find . -xdev -type f -name "*.pdf" -exec pdfinfo "{}" ";" | \
    awk '/^Pages:/ {n += $2} END {print n}'

09-26 20:54