python读取pdf文档书签 bookmark_pdf根据目录生成书签

目录

1 准备

①Adobe Acrobat

②Autobookmark插件

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值