本期代码预览
本期代码旨在优化PDF文件的阅读体验,特别针对缺乏书签标识的大篇幅PDF文件,如部分官网下载的招股说明书、募集说明书等。通过本期代码,可以轻松地为PDF文件添加书签目录,省去繁琐的翻页查找过程,使阅读更加高效便捷。
公众号后台回复26代码,即可得到本期代码。
此外,我们还提供了针对本期代码的可执行程序,以exe格式封装,可以通过知识星球获取。
代码使用
准备
(1)确保电脑已成功安装Python;
(2)代码所需的库:os,re,pdfplumber,PyPDF2。
库的安装:cmd中分别执行pip install pdfplumber
,pip install PyPDF2
。
使用
(1)确保PDF文件中有目录页,且有“目录”标题(如下图);
注:如果目录本身有误或难以识别,那么添加的书签可能存在问题。
(2)将代码中的PDF路径修改为自己的文件路径;
if __name__ == "__main__":
# 路径和文件名处理
pdf_path = r"你的PDF文件路径"
output_path = gen_new_filename(pdf_path, "【添加书签】")
# 提取并分类目录
toc_list = categorize_toc(extract_toc(pdf_path))
# 添加书签到PDF
add_bookmarks_to_pdf(pdf_path, output_path, toc_list)
print(f"已添加书签,PDF文件保存至:{output_path}")
<<< 左右滑动见更多 >>>
代码说明
一、导入的库
import os # 文件和路径操作
import re # 正则表达式模块,用于文本匹配
import pdfplumber # 用于提取PDF文本和信息
from PyPDF2 import PdfReader, PdfWriter # 用于处理PDF文件
二、提取目录并分级
定义了两个函数:
(1)提取PDF中的目录:extract_toc
函数通过扫描PDF文本以获取目录起始页和内容,然后提取目录中的各级标题和页码;
(2)对目录进行分级:categorize_toc
函数根据目录标题的格式,将目录分为不同级别,以便后续添加书签。
三、添加书签到PDF文件
利用 PyPDF2 库,定义了add_bookmarks
函数,用于向PDF文件添加书签。该函数根据提取并分级后的目录信息,逐级地为每个目录项添加对应的书签,从而便于浏览和导航整个PDF文档。
四、路径和文件名处理
利用 os 库,定义了gen_new_filename
函数,根据原始文件的路径和名称生成一个新的文件名,同时添加了特定的前缀“【添加书签】”,方便识别和管理新生成的带书签的PDF文件,同时避免与原文件混淆。
关注我们
后台回复26代码,即可得到本期代码。
以exe格式封装的可执行程序,请通过知识星球获取。
往期文章
往期代码分类整理:ABCoding发展总结 | Python基础教程:环境搭建
人物专访及经验分享:IBD Tools创始人:从四大到投行,开发出万人使用的效率工具;金融校招攻略 | 文商科学码自救小组&来我青年合作总结
知识星球与知识库详细介绍:ABCoding | 知识星球-近期精华总结
职业知识库介绍与申请方法:ABCoding职业知识库 | 高质量面经库!覆盖多行业汇总15+求职方向子库
欢迎点赞与在看,感谢支持!