pdf根据目录生成书签

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 可编辑处理,速度较快

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值