1 准备
①Adobe Acrobat
②Autobookmark插件
Step1 下载链接
Step2 关闭Adobe Acrobat后,直接安装,会自动添加到Adobe Acrobat
(使用说明)
③Python3.6
④pdf电子书的目录bookmarks.txt
直接从目录复制(注意编码问题,可能乱码)
或从豆瓣图书复制
2 得到书签标准文件
2.1 bookmarks.txt标准文件
所需目录格式,需要一、二级标题鲜明,第二级使用tab键缩进(Notepad中选中整体直接tab进行缩进,或shift+tab回缩),第三级类推
标题和页数之间使用英文逗号分割
格式示例:
2.2 正则转换示例
将一般形式的目录,如
1 Part1 . . . . . . . . . . . . . . . . . . . 1
1.1 Part1.1 . . . . . . . . . . . . . . . . . . . 3
1.2 Part1.2 . . . . . . . . . . . . . . . . . . . 5
1.3 Part1.3 . . . . . . . . . . . . . . . . . . . 6
2 Part2 . . . . . . . . . . . . . . . . . . . 9
2.1 Part2.1 . . . . . . . . . . . . . . . . . . . 11
2.2 Part2.2 . . . . . . . . . . . . . . . . . . . 21
转为如上标准格式
python正则代码参考
import re
with open('test.txt', 'r') as f:
raw_lines = f.readlines()
lines = []
# 去掉中间逗点
for line in raw_lines:
#逗点之间使用了空格
pattern_dots = re.compile(r'(\s\.)+\s')
new_line = pattern_dots.sub(',', line)
lines.append(new_line)
# 修改绝对页数
new_lines = []
for line in lines:
pattern = re.compile(r',\d+')
# 提取页数
page = pattern.findall(line)
# 将页数修改为正确的页数
new_page = int(page[0][1:]) + 12
new_line = line.replace(page[0],','+str(new_page))
new_lines.append(new_line)
with open('test_bookmarks.txt', 'w') as f:
for line in new_lines:
f.write(line)
3使用插件自动生成
将pdf用Adobe Acrobat打开,依次选择
然后选择目录文件,点击OK生成
4 其他
Question1、使用Adobe Acrobat编辑pdf后,无法保存,出现“文档无法保存,读取文档时出现错误(153)”
A:使用PDF-XChange_Editor打开pdf后,另存为新的文件,之后操作新的文件即可
Download1
Download2
Question2、关于pdf软件
PDF阅读,推荐Edge,轻便,带目录,可作标记
Adobe Acrobat 用于处理pdf,合并、生成标签等
PDF-XChange-Editor 可编辑处理,速度较快