티스토리 뷰
def ConvertSlidenotes2Subtitles(pptxFile, outFile):
# 파워포인트 프레젠테이션을 엽니다.
if not os.path.exists(pptxFile):
print("[???] None of PPTX file of ", pptxFile)
return;
presentation = pptx.Presentation(pptxFile)
# 슬라이드 노트의 텍스트를 수집합니다.
subtitles = []
for slide1 in presentation.slides:
slideNote1 = slide1.notes_slide
if not slideNote1: continue;
textFrame1 = slideNote1.notes_text_frame
if not textFrame1:
subtitles.append("")
continue;
subtitles.append(textFrame1.text)
if not subtitles:
print("[??] None of Subtitles");
return;
# 자막을 SRT 파일로 저장합니다.
with open(output_file, 'w') as f:
timeCount = 0
subtitleCount = 0
# f.write("# 타임코드\t자막\n")
for subTitle1 in subtitles:
if not subTitle1: timeCount += 1; continue;
lines1 = subTitle1.split("\n")
subTitle11 = lines1[0]
subtitleCount += 1
f.write(str(subtitleCount) + "\n")
startSecond1 = timeCount*5
endSecond1 = startSecond1 + 5
startMiinute11 = startSecond1//60
startSecond11 = startSecond1%60
endMinute11 = endSecond1//60
endSecond11 = endSecond1%60
startString1 = "00:" + str(startMiinute11).zfill(2) + ":" + str(startSecond11).zfill(2) + ",000"
endString1 = "00:" + str(endMinute11).zfill(2) + ":" +str(endSecond11).zfill(2) + ",000"
timeString1 = startString1 + " --> " + endString1
f.write(f'{timeString1}\n')
f.write(f'{subTitle11}\n')
f.write("\n")
timeCount += 1
print("Completed")
def Test01(fileTitle=None):
if fileTitle:
presentationFile = "E:/Temp/ASB/" + fileTitle + ".pptx"
outFile = "E:/Temp/ASB/" + fileTitle + ".srt"
else:
presentationFile = 'E:/Temp/ASB/ASB_IT.pptx'
outFile = 'subtitles.srt'
# 자막 파일 경로를 지정합니다.
# 자막을 변환합니다.
ConvertSlidenotes2Subtitles(presentationFile, outFile)
반응형
'SWDesk' 카테고리의 다른 글
[Python] 하나의 슬라이드에 여러 장의 이미지를 정렬해 넣기 (0) | 2023.09.17 |
---|---|
[Python] Tistory Category-ID 확인 (0) | 2023.09.08 |
[Python] 특정 태그를 브라우저 상단에 위치시키는 코드 (0) | 2023.08.27 |
[Python] 시간 차이를 구하는 함수 with datetime (0) | 2023.08.26 |
[Python] 날짜 및 시간 함수 : datetime (0) | 2023.08.26 |
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티스토리챌린지
- 혁신과허들
- Decorator
- 빌리언트
- image
- 오블완
- Video
- arduino
- badp
- Hurdles
- 둎
- Innovation&Hurdles
- ServantClock
- 전압
- BSC
- 심심풀이치매방지기
- 전압전류모니터링
- 배프
- Innovations
- 아두이노
- 치매방지
- 혁신
- 허들
- 절연형
- DYOV
- 전류
- 심심풀이
- 치매
- Innovations&Hurdles
- bilient
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함