我一直都覺得,用python高效辦公,是件沒必要的事。。。
但直到最近寫課做PPT,做了80多頁PPT,要把每一頁PPT的備注粘貼進去時
我覺得,有什么關系呢,一頁一頁粘
但是粘到5頁,我感覺ctl+c\v頻率有點兒高
隱隱擔心,腱鞘炎會不會出現
而且,我還不止是做這一個PPT,以后還要做幾個PPT,每次都要這么粘?
毫無疑問,復制粘貼的手指頭,會僵硬,我將不再是那個和平經營里優秀的我自己
所以,還是搞個批量導入PPT備注的小工具吧~~
from pptx import Presentation
from docx import Document
"""
需要修改ppt_path和doc_path
"""
ppt_path = r'C:\Users\qwe\Desktop\AI課\MJ\直播第二周2+3\MJ直播_2_完整.pptx'
doc_path = r"C:\Users\qwe\Desktop\AI課\MJ\直播第二周2+3\2_直播講稿.docx"
doc = Document(doc_path)
ppt = Presentation(ppt_path)
# 處理文本
paras = []
temp = ''
for i in doc.paragraphs:if len(i.text)==0:print(temp)paras.append(temp)temp = ''else:temp = temp + i.texttemp = temp+'\n'
paras.append(temp)# 判斷頁數與備注量是否對應
doc_lens = len(paras)
ppt_lens = len(ppt.slides)
if doc_lens!=ppt_lens:print(doc_lens)print(ppt_lens)print("文檔注意:不要連續空兩行、末尾和開頭不要有空行")print("PPT注意:不要隱藏PPT")raise Exception("文檔和ppt頁數不匹配,請重新檢查")for index in range(ppt_lens):# 獲取每頁PPT備注對象slide = ppt.slides[index]notes_slide = slide.notes_slidetext_frame = notes_slide.notes_text_frame# 獲取對應備注內容para = paras[index]# 往PPT里寫入備注text_frame.text = paranew_ppt_name = ppt_path.split('.')[0]+'_備注.pptx'
ppt.save(new_ppt_name)
print(f"ppt備注已添加完成,保存在:{new_ppt_name}")