如何统计 PDF 页数:4 种实用方法

使用桌面 PDF 阅读器、浏览器、在线工具和 Python 统计 PDF 页数的四种方法

在提交材料、打印文件或整理报告时,我们经常需要确认 PDF 文档的总页数。例如,检查文件是否符合页数限制、预估打印所需的纸张数量,或者核对文档是否完整。对于单个 PDF,查看页数通常很简单;但如果需要统计几十甚至上百份文件,逐一打开检查就比较费时了。

本文将介绍四种统计 PDF 页数的方法,包括使用桌面 PDF 阅读器、网页浏览器、在线工具以及 Python。除了查看单个文件的页数,还会介绍如何批量统计多个 PDF 的页数,并解释为什么 PDF 的实际总页数有时与文档中标注的页码不一致。

PDF 页数统计方法对比

不同方法适合的任务有所不同。你可以根据需要统计的 PDF 文件数量、是否需要离线操作,以及是否经常重复执行统计任务,参考下表选择合适的方式。

方法 适用场景 局限性
桌面 PDF 阅读器(如 Adobe Acrobat Reader) 离线查看单个或少量 PDF 的总页数 需要安装 PDF 阅读器;多个文件通常需要逐一查看
网页浏览器(Chrome 或 Edge) 无需安装专用 PDF 软件,直接查看本地 PDF 的页数 通常需要逐个打开文件查看
在线 PDF 页数统计工具 无需安装软件,快速查看单个或多个 PDF 的页数 批量统计等功能因工具而异;部分服务需要上传文件,需注意隐私
Python 批量统计 PDF 页数、汇总统计结果或执行定期自动化任务 需要 Python 运行环境和基本编程知识

方法 1:使用桌面 PDF 阅读器统计页数

桌面 PDF 阅读器通常会在页面导航区域显示文档的总页数,无需逐页查看,也不需要将文件上传到网络。下面以免费的 Adobe Acrobat Reader 为例,介绍如何在离线状态下查看 PDF 页数。

操作步骤

  1. 打开 PDF 文件。 启动 Adobe Acrobat Reader,点击左上角的菜单(三横线图标)> 打开(部分旧版本或 macOS 界面为文件 > 打开),选择需要查看的 PDF 文件。

  2. 找到页面导航控件。 在较新版本的 Acrobat 中,页面导航控件通常位于界面右侧底部。不同版本或界面布局中的位置可能有所不同。

  3. 查看 PDF 总页数。 页面导航控件会显示当前页码和文档总页数,例如 1 / 24。其中,1 表示当前位于第 1 页,24 表示整个 PDF 共有 24 页。

    Adobe Acrobat Reader 统计 PDF 页数

注意: PDF 的页面标签可能使用罗马数字,或从其他数字开始编号,正文中的页码也可能重新编号。因此,不能仅凭最后一页标注的页码判断文件的总页数,应以阅读器显示的实际总页数为准。

方法 2:使用浏览器查看 PDF 页数

如果电脑上没有安装专用的 PDF 阅读器,也可以直接使用 Google Chrome 或 Microsoft Edge 查看 PDF 页数。这两款浏览器都内置了 PDF 查看器,可以直接打开本地文件,无需安装额外的软件或将文件上传到网络。

操作步骤

  1. 在浏览器中打开 PDF 文件。 启动 Chrome 或 Edge,将电脑上的 PDF 文件拖入浏览器窗口。也可以右键点击 PDF 文件,选择 打开方式 > Google Chrome 或 Microsoft Edge。

  2. 找到页面导航控件。 打开 PDF 后,在查看器顶部的工具栏中找到页码指示器。如果工具栏未显示,可以将鼠标移至页面上方。

  3. 查看 PDF 总页数。 页码指示器通常会显示类似 1 / 24 的数字,其中 1 表示当前页,24 表示 PDF 文件共有 24 页。

    Microsoft Edge 查看 PDF 文档总页数

方法 3:使用在线工具统计 PDF 页数

除了使用桌面阅读器或浏览器查看页数,还可以借助在线 PDF 页数统计工具。这类工具通常只需选择 PDF 文件,就能查看总页数。部分工具还支持批量统计多个 PDF,并将结果导出,方便汇总和保存。

下面介绍两款支持批量统计的在线工具。

选项 1:NextUtils PDF Page Counter

  1. 打开 NextUtils PDF Page Counter 网站。

  2. 点击 Choose PDFs,选择一个或多个 PDF 文件,也可以直接将文件拖放到网页中。

  3. 文件分析完成后,查看每个 PDF 的页数及所有文件的总页数。

    NextUtils PDF Page Counter 显示多个 PDF 文件各自的页数及总页数

  4. 如需保存统计结果,可以将其导出为 CSV 文件,方便在 Excel 中查看或进一步分析。

选项 2:OS Authority PDF Page Counter

  1. 打开 OS Authority PDF Page Counter 网站。

  2. 点击 Choose files,选择一个或多个 PDF 文件,或将文件拖放到网页中。

  3. 点击 Count pages 开始统计。

  4. 查看每个 PDF 的页数及所有文件的总页数。如有需要,还可以复制统计结果,或下载为 CSV 文件。

    OS Authority PDF Page Counter 显示各个 PDF 文件的页数和合计页数

使用限制: NextUtils 每次最多可处理 50 个 PDF 文件,单个文件不超过 50 MB。OS Authority 根据设备类型限制每批文件数量:电脑端最多 100 个、平板端最多 50 个、手机端最多 20 个。这些限制可能随网站更新而变化。

隐私提示: 上述两款工具均声明 PDF 文件在浏览器本地处理,不会上传到服务器。不过,不同在线工具的数据处理方式可能不同。对于包含敏感信息的文档,建议使用前先确认工具的隐私政策和文件处理方式。

方法 4:使用 Python 自动统计 PDF 页数

如果需要定期统计 PDF 文件的页数,例如每周汇总报告或检查待打印的文档,每次手动选择文件并记录结果会比较繁琐。使用 Python,可以自动扫描指定文件夹,统计每个 PDF 的页数,并生成 CSV 报告。配合系统的定时任务功能,还能让脚本定期自动运行。

借助 Spire.PDF for Python,可以通过 PdfDocument.Pages.Count 属性获取 PDF 的总页数,无需使用 PDF 阅读器逐个查看。

安装 Spire.PDF for Python

首先,在终端或命令提示符中运行以下命令,从 PyPI 安装 Spire.PDF for Python:

1
pip install Spire.PDF

自动统计 PDF 页数并生成报告

下面的示例会自动读取指定文件夹中的所有 PDF,统计每个文件的页数,并将文件名、页数和处理状态保存到 CSV 报告中。如果遇到无法读取的 PDF,脚本会记录错误信息并继续处理其他文件,同时计算成功处理的所有 PDF 的总页数。

运行前,请在 Python 脚本所在目录下创建一个 pdf_files 文件夹,并将需要统计的 PDF 文件放入其中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from pathlib import Path
from datetime import datetime
import csv
from spire.pdf import PdfDocument

# 设置输入文件夹和输出报告路径
base_dir = Path(__file__).resolve().parent
input_folder = base_dir / "pdf_files"

# 使用时间戳区分不同批次的统计报告
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
report_file = base_dir / f"pdf_page_counts_{timestamp}.csv"

if not input_folder.is_dir():
raise FileNotFoundError("找不到 'pdf_files' 文件夹。")

# 获取文件夹中的所有 PDF 文件
pdf_files = sorted(
file for file in input_folder.iterdir()
if file.is_file() and file.suffix.lower() == ".pdf"
)

results = []
total_pages = 0
successful_files = 0

# 逐个读取 PDF 并统计页数
for pdf_file in pdf_files:
pdf = PdfDocument()

try:
pdf.LoadFromFile(str(pdf_file))
count = pdf.Pages.Count

results.append([pdf_file.name, count, "成功"])
total_pages += count
successful_files += 1

except Exception as e:
results.append([pdf_file.name, "", f"失败:{e}"])
print(f"无法读取 {pdf_file.name}:{e}")

finally:
pdf.Close()

# 将统计结果保存为 CSV 报告
with report_file.open("w", newline="", encoding="utf-8-sig") as f:
writer = csv.writer(f)
writer.writerow(["文件名", "页数", "处理状态"])
writer.writerows(results)

print(f"成功统计:{successful_files} / {len(pdf_files)} 个 PDF 文件")
print(f"失败:{len(pdf_files) - successful_files} 个")
print(f"总页数:{total_pages}")
print(f"报告已保存至:{report_file}")

将代码保存为 count_pdf_pages.py,然后在终端中运行:

1
python count_pdf_pages.py

脚本运行后,会在同一目录下生成一个带时间戳的 CSV 文件,可以直接用 Excel 打开。报告记录了每个 PDF 的文件名、页数和处理状态,包括未能成功读取的文件。终端还会显示成功和失败的文件数量,以及所有成功处理文件的总页数。

定时执行: 如果需要定期生成报告,可以使用 Windows 的任务计划程序、macOS 的 launchd 或 Linux 的 cron 设置自动运行任务。

注意: 此示例只统计 pdf_files 文件夹中的 PDF,不会扫描子文件夹,也不会修改原始 PDF 文件。

PDF 页数统计常见问题及解决方法

1. PDF 总页数与文档中标注的页码不一致

可能原因: PDF 的封面、目录或前言可能使用罗马数字页码,正文也可能从第 1 页重新编号。此外,部分页面可能没有标注页码,因此最后一页显示的页码不一定等于 PDF 的实际总页数。

解决方法: 以 PDF 阅读器或页数统计工具显示的总页数为准,不要根据文档中标注的页码推算。PDF 的总页数包括封面、目录及实际存在的空白页。

2. 无法打开 PDF 或读取页数

可能原因: PDF 可能受到密码保护、文件下载不完整,或者文件本身已损坏,导致阅读器或统计工具无法正常读取。

解决方法: 尝试使用 PDF 阅读器打开文件。如果文件受到密码保护,请输入正确的密码;如果文件不完整或已损坏,可以尝试重新下载或获取原始文件。使用 Python 批量统计时,建议添加异常处理,避免单个文件读取失败导致整个任务中断。

3. 在线工具无法处理大型 PDF 或大量文件

可能原因: 部分在线工具对文件大小或单次处理的文件数量设有限制。即使工具在浏览器本地处理 PDF,也可能因浏览器内存不足而无法完成统计。

解决方法: 可以减少每批处理的文件数量,或改用桌面 PDF 阅读器查看页数。如果需要经常处理大量文件,可以使用 Python 脚本逐个读取 PDF 并记录统计结果,避免一次在浏览器中加载过多文件。

总结

统计 PDF 页数并不复杂,关键是选择适合自己需求的方法。如果只是偶尔查看文件页数,桌面 PDF 阅读器或浏览器就能满足需求;如果需要一次统计多个 PDF,可以使用支持批量处理的在线工具;对于需要定期统计并保存结果的任务,则可以通过 Python 实现自动化。

无论使用哪种方法,都应以 PDF 的实际总页数为准,而不是根据文档中标注的页码推算,尤其是在检查文件是否符合提交要求时。

常见问题解答

Q1:不使用 Adobe Acrobat,也能统计 PDF 页数吗?

可以。Chrome 和 Microsoft Edge 都内置了 PDF 查看器,可以直接查看文件的总页数。此外,你也可以使用在线 PDF 页数统计工具,或通过 Python 自动获取页数,无需安装 Adobe Acrobat。

Q2:PDF 中的空白页会计入总页数吗?

会。只要空白页实际存在于 PDF 文件中,即使没有任何可见内容,也会计入文档的总页数。PDF 阅读器和页数统计工具通常都会将这些页面计算在内。

Q3:扫描版 PDF 也能统计页数吗?

可以。PDF 页数统计不依赖文本内容,因此不需要进行 OCR(光学字符识别)。即使 PDF 中的页面全部由扫描图片组成,也可以直接读取其总页数。

Q4:PDF 的总页数等于打印时使用的纸张数量吗?

不一定,实际用纸量取决于打印设置。例如,一个 20 页的 PDF,如果每面打印一页,单面打印需要 20 张纸,双面打印通常只需要 10 张纸。如果选择“每张纸打印多页”等设置,用纸量还可能进一步减少。