Python 合并多个 PDF 文件并建立书签目录

今天在用 WPS 的 PDF 工具合并多个文件的时候,非常不给力,居然卡死了好几次,什么毛病?!

心里想,就这么点儿功能,居然收了我会员费都实现不了?不是吧......

只能自己来了,主要用了 pypdf 库,因为 PyPDF2 版本更新原因,一些类和函数已经过时,截止发文时以下是最新用法(赶紧收藏吧!!)

第一步,安装 pypdf

复制代码
pip install pypdf

第二步,具体实现

python 复制代码
import os
from pypdf import PdfWriter, PdfReader

# 指定路径
target_path = '/Users/jss/Desktop/abc'

# 过滤出以 .pdf 为后缀的文件
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]

# 对文件名进行排序
sorted_files = sorted(pdf_lst)

# 输出排序后的文件名(测试查看是否正确)
# for file in sorted_files:
#     print(file)

# 按具体位置拼接文件名
pdf_lst = [os.path.join(target_path, filename) for filename in sorted_files]

# (测试查看是否正确)
# for file in pdf_lst: 
#     print(file)

# 记录页码
pdf_num = 0

# 获取输出流
file_merger = PdfWriter()

# 循环合并
for pdf in pdf_lst:
    # 提取文件名,用作书签目录
    pdf_title = pdf.split("/")[-1].split('.')[0]
    # 合并pdf文件
    file_merger.append(pdf, pdf_title)
    # 记录页数
    pdf_num += len(PdfReader(pdf).pages)
    
# 指定文件输出合并后文件
file_merger.write("/Users/jss/Desktop/merge.pdf")

# 关闭流
file_merger.close()

效果

相关推荐
岁月宁静1 分钟前
Hermes Agent:让你的AI智能体越用越聪明
python·agent
2601_961194025 分钟前
考研政治历年真题及解析pdf
stm32·单片机·嵌入式硬件·物联网·考研·pdf
2401_868534786 分钟前
防火墙的具体概念
服务器·网络·php
驭渊的小故事8 分钟前
网络初始1(2000字详细剖析网络的TCP/IP协议栈)
linux·服务器·网络
财经资讯数据_灵砚智能9 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月29日
人工智能·python·信息可视化·自然语言处理·ai编程
触底反弹12 分钟前
从数据结构到 Prompt 设计:前端工程师的 AI 时代进阶指南
javascript·人工智能·python
好好风格13 分钟前
这个开源项目,把本地大模型做成会说话的 Live2D 桌宠
人工智能·python·开源
2301_8156453828 分钟前
网络与安全
网络·安全
Deepoch28 分钟前
Deepoc VLA开发板:无人机群体协同与无网络自主作业核心
网络·人工智能·算法·无人机·deepoc·具身模型开发板
10WTW0130 分钟前
计网实验 路由器部署及配置
网络·智能路由器