目錄
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 可編輯處理,速度較快