Python批量计算PDF页数

今天下载了2016年到2024年的国考真题,准备拿在网上去打印出来做,因为想算一下大概多少钱,但是页数太多了不知道多少页,于是写下了以下Python代码来批量计算PDF的页数

安装PyPDF2库:

1
pip install PyPDF2

Python代码

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
import PyPDF2
import os

def count_pdf_pages(directory):
pdf_page_counts = {}
total_pages = 0 # 初始化总页数为0
for filename in os.listdir(directory):
if filename.endswith(".pdf"):
filepath = os.path.join(directory, filename)
try:
with open(filepath, "rb") as pdf_file:
pdf_reader = PyPDF2.PdfReader(pdf_file)
page_count = len(pdf_reader.pages)
pdf_page_counts[filename] = page_count
total_pages += page_count # 累加每个PDF的页数
except Exception as e:
pdf_page_counts[filename] = f"Error: {e}"
return pdf_page_counts, total_pages

directory_path = "D:/本地文件夹/桌面/2016-2024国考真题" # PDF所在的文件夹
page_counts, total_pages = count_pdf_pages(directory_path)

# 输出每个PDF的页数
for filename, page_count in page_counts.items():
print(f"{filename}: {page_count} pages")

# 输出PDF总页数
print(f"Total pages across all PDFs: {total_pages}")

代码说明

count_pdf_pages 函数返回一个包含每个 PDF 文件页数的字典 pdf_page_counts,以及所有 PDF 的总页数 total_pages。

代码中使用 total_pages += page_count 来累计页数。

运行效果

image.png