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