Answers:
使用pdfinfo
这是我能拿出最好的:要打印的每个文件的页数:
for i in *.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done
要打印所有文件中所有页面的总和:
for i in *.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'
在Ubuntu上,pdfinfo
包含在软件包中poppler-utils
。要安装它,请使用:
sudo apt-get install poppler-utils
在Windows上,您可以使用cygwin。pdfinfo
包含在包装中poppler
。
我为此专门制作了一个应用程序,它是用Java编写的,因此可以在所有os上使用。在这里查看:
https://github.com/hamiltino/multiple-pdf-counter/releases
最好从终端(java -jar
)运行该应用程序,以确保其正常运行。
将jar文件放在您想要获取所有pdf的页数的目录中。它也会在子文件夹中循环,而无需将所有pdf放在jar文件所在的位置,因为它将在子文件夹中循环通过。 jar文件。双击罐子,如果有很多pdf,可能要花一些时间,最终将在罐子文件的同一目录中输出一个txt文件,并且其中的页数为零。
在Adobe Acrobat Pro中,转到文件 > 创建PDF > 将文件合并到一个PDF中。然后添加文件并选择所需的文件。单击合并,然后查看最终PDF中有多少页。
嗨,您不知道如何在Windows上执行此操作,但在Linux bash上应该可以使用此功能
PDFS =`ls * .pdf` 计数器= 0 对于$ PDFS中的i 做 (((counter + =`pdfinfo internship_report.pdf | sed -n's | Pages:[^ 0-9] * \([0-9] * \)。* | \ 1 | p')) 做完了 回声$计数器
最好的护卫肯尼
用另一种方法parallel
和expr
(应该是多处理器机器上快一点):
expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')