我正在动态生成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}'