티스토리 뷰

  • python-pptx: 파이썬에서 파워포인트 파일을 다루기 위한 라이브러리
  • pywin32: 파이썬에서 Windows API를 사용하기 위한 라이브러리

 

import os
import win32com.client
from pptx import Presentation

def save_notes_as_srt(pptx_file_path, output_file_path):
    # 파워포인트 파일 열기
    prs = Presentation(pptx_file_path)

    # 슬라이드 노트 추출
    notes_list = []
    for slide in prs.slides:
        notes_list.append(slide.notes_slide.notes_text_frame.text)

    # 자막 파일 쓰기
    with open(output_file_path, 'w') as f:
        for i, note in enumerate(notes_list):
            # 시간 표시
            start_time = i * 5
            end_time = start_time + 5
            time_str = '{:02d}:{:02d}:00,000 --> {:02d}:{:02d}:00,000\n'.format(start_time//60, start_time%60, end_time//60, end_time%60)
            f.write(time_str)
            # 슬라이드 노트 쓰기
            f.write(note + '\n\n')

if __name__ == '__main__':
    pptx_file_path = 'presentation.pptx'
    output_file_path = 'notes.srt'
    save_notes_as_srt(pptx_file_path, output_file_path)

위 코드는 파워포인트 파일의 슬라이드 노트를 추출하여 시간 정보와 함께 자막 파일(.srt)로 저장

각 슬라이드 노트는 5초 간격으로 표시됨.

자막 파일을 열어보면 슬라이드 노트가 시간 정보와 함께 적혀있는 것을 확인 가능

반응형