如何计算多个 PDF 文件中的页数?

如何计算多个 PDF 文件中的页数?

我刚收到一本 pdf 教科书,其中包含大约 20 个单独的 pdf(按章节),名称类似常规名称。有没有办法计算书中的页数,而无需打开每个文件(或查看属性)?

[解决方案可适用于 Windows 或 Ubuntu]

答案1

这是我能想到的最好的办法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

答案2

我知道已经太晚了,但我刚刚找到了一种更好更简单的解决方案。

从 sourceforge 下载并安装“pdf split and merge”

将所有文件放入其中,它会在屏幕上生成一个类似电子表格的报告,其中包含每页的数量和信息。

选择它,复制,粘贴到 excel 或 opencalc 中,就完成了。

答案3

我专门为此制作了一个应用程序,它是用 Java 编写的,因此可以在所有操作系统上运行。请在此处查看:

https://github.com/hamiltino/multiple-pdf-counter/releases

最好从终端(java -jar)运行该应用程序以确保它正常工作。

将 jar 文件放入您想要获取所有 pdf 的页数的目录中。它也会循环遍历子文件夹,无需将所有 pdf 放在 jar 文件所在的位置,因为它会循环遍历您放置 jar 文件的子文件夹。双击 jar,如果有很多 pdf,可能需要一些时间,它最终会在 jar 文件的同一目录中输出一个 txt 文件,其中包含页数。

答案4

你好,不知道如何在 Windows 上做到这一点,但在 Linux Bash 上应该可以使用这个

PDFS=`ls *.pdf`
计数器=0
对于 $PDFS 中的我
   (( counter += `pdfinfo internship_report.pdf | sed -n 's|Pages:[^0-9]*\([0-9]*\).*|\1|p'`))
完毕
回显 $counter

谨致问候肯尼

相关内容