了解网站建设规划流程,wordpress关闭手机主题,首都在线,wordpress 8080端口
dir.txt的形式
第1章 计算机系统基础知识 1
1.1 嵌入式计算机系统概述 1
1.2 数据表示 4
1.2.1 进位计数制及转换 4
1.2.2 数值型数据的表示 6
第2章 嵌入式系统硬件基础知识 56
2.1 数字电路基础 56
2.1.1 信号特征 56
2.1.2 组合逻辑电路和时序逻辑电路 5…
dir.txt的形式
第1章 计算机系统基础知识 1
1.1 嵌入式计算机系统概述 1
1.2 数据表示 4
1.2.1 进位计数制及转换 4
1.2.2 数值型数据的表示 6
第2章 嵌入式系统硬件基础知识 56
2.1 数字电路基础 56
2.1.1 信号特征 56
2.1.2 组合逻辑电路和时序逻辑电路 56
2.2 嵌入式微处理器基础 63
2.2.1 嵌入式微处理器的结构和类型 65
2.2.2 嵌入式微处理器的异常与中断 71
import pypdf# TODO 需要提前设置的变量
original_pdf_name 嵌入式系统设计师教程__第2版.pdf # pdf文件名
directory_file_name dir.txt # 目录所在文件名
first_chapter_origin_num 1 # 第一章在目录上的页码
first_chapter_actual_num 10 # 第一章的页码# TODO 以下内容无需更改
offset first_chapter_actual_num - first_chapter_origin_num - 1 # 偏置writer pypdf.PdfWriter() # 创建一个PdfWriter类
input1 open(original_pdf_name, rb) # 打开需要添加书签的PDF
writer.append(input1) # 将PDF读入writer中然后进行书签的编辑f open(directory_file_name, r, encodingutf8) # 打开目录文件
lines f.readlines() # 读取目录的所有行
num_lines len(lines) # 标题的总个数txt []
bookmark_parent_0 None
bookmark_parent_1 Nonefor line in lines:line line.strip() # 去掉末尾的\ntitle line.split( ) # 根据line中空格 进行分割level line.count(.) # 有n个.就是n1级标题page_title title[0] title[1]page_num int(title[-1]) offsetif level 0:bookmark_parent_0 writer.add_outline_item(titlepage_title, page_numberpage_num, parentNone)elif level 1:bookmark_parent_1 writer.add_outline_item(titlepage_title, page_numberpage_num, parentbookmark_parent_0)else:writer.add_outline_item(titlepage_title, page_numberpage_num, parentbookmark_parent_1)print(line.strip())print(txt)# Write to an output PDF document
output open(05_ original_pdf_name, wb)
writer.write(output)# Close File Descriptors
writer.close()
output.close()f.close() # 关闭文件
print(f.closed, f.closed)更详细的pypdf使用参考
使用 Python 给 PDF 添加目录书签_python word转pdf按标题生成书签-CSDN博客https://blog.csdn.net/qq_35629563/article/details/133499112