一、背景:
客户方提供过来一个开放平台的pdf文档,文档里有几十个接口,没有大纲和目录可以定位到具体内容,了解整体的API功能,观看体验极度差劲,所以想使用Python代码自动解析pdf文档,给文档增添大纲内容,便于观看和理解。
二、实现思路:
1、可行性调研
- pdf文档是文本格式的,而非扫描图像,所以可以拿到具体的文本内容。
- 内容格式整体比较整齐,标题有特定的格式可以识别。
2、技术细节
- 使用pyPDF2和pdfplumber类库来实现pdf的解析。
- 根据章节标题的格式,编写正则表达式进行匹配
- 记录识别结果到csv文件中,方便比对和删除多余的标题内容。
- 使用pyPDF2来添加书签,生成新的PDF大纲。
三、代码
1、详细python代码
import csv
import pdfplumber
import re
from PyPDF2 import PdfReader, PdfWriter
# TODO PDF文件路径
pdf_path = 'C:\\Users\\admin\\Desktop\\use_book.pdf' # 更改为您的PDF文件路径
output_pdf_path = '.\output_use_book_with_bookmarks.pdf' # 输出文件的路径
# 保存目录信息的CSV文件路径
csv_path = 'titles.csv'
# 检测是否为标