Guidelines

반볡적인 νŒŒμ›Œν¬μΈνŠΈ μž‘μ—…μ„ μžλ™ν™”ν•˜λŠ” 방법

맀주 λ˜λŠ” 맀월 λ™μΌν•œ ν˜•μ‹μ˜ λ³΄κ³ μ„œλ₯Ό μž‘μ„±ν•˜κ±°λ‚˜, 수료증과 같은 PPT ν…œν”Œλ¦Ώμ— λ°μ΄ν„°λ§Œ λ‹€λ₯΄κ²Œ μ±„μ›Œ 넣은 κ²½ν—˜μ΄ μžˆμœΌμ‹ κ°€μš”?

μŠ¬λΌμ΄λ“œλ₯Ό 일일이 μˆ˜μ •ν•˜κ±°λ‚˜ 반볡 μž‘μ—…μ„ ν•˜λ‹€λ³΄λ©΄ λΆˆν•„μš”ν•œ μ‹œκ°„μ΄ μ†Œμš”λ˜κ³ , μ‹€μˆ˜λ₯Ό λ²”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

python-pptxλŠ” μ΄λŸ¬ν•œ PPT 반볡 μž‘μ—…μ„ μžλ™ν™”ν•˜λŠ” 파이썬 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.

이번 μˆ˜μ—…μ—μ„œλŠ” python-pptxλ₯Ό ν™œμš©ν•΄ κ°„λ‹¨ν•œ PPT μŠ¬λΌμ΄λ“œλ₯Ό λ§Œλ“œλŠ” 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ°Έκ³  : μ‹€μŠ΅ μ½”λ“œλ₯Ό μ»΄ν“¨ν„°μ—μ„œ μ‹€μ œλ‘œ μ‹€ν–‰ν•˜λ €λ©΄, pip install python-pptx λͺ…λ Ήμ–΄λ‘œ python-pptx 라이브러리λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.


파이썬 μ½”λ“œλ‘œ PPT μŠ¬λΌμ΄λ“œλ₯Ό μƒμ„±ν•˜λŠ” 방법

λ¨Όμ € κ°„λ‹¨ν•œ ν”„λ ˆμ  ν…Œμ΄μ…˜μ„ λ§Œλ“€λ©° python-pptx 라이브러리의 기본적인 μ‚¬μš© 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

python-pptx 라이브러리λ₯Ό 뢈러올 λ•ŒλŠ” from pptx import {클래슀 λ˜λŠ” ν•¨μˆ˜} ν˜•μ‹μœΌλ‘œ ν•„μš”ν•œ 클래슀 λ˜λŠ” ν•¨μˆ˜λ₯Ό λΆˆλŸ¬μ˜΅λ‹ˆλ‹€.

μ•„λž˜ μ½”λ“œ μ˜ˆμ œμ—μ„œλŠ” νŒŒμ›Œν¬μΈνŠΈ 파일 객체λ₯Ό λ§Œλ“€κ³ , μŠ¬λΌμ΄λ“œμ— κ°„λ‹¨ν•œ ν…μŠ€νŠΈλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

κ°„λ‹¨ν•œ ν”„λ ˆμ  ν…Œμ΄μ…˜ μƒμ„±ν•˜κΈ°
# python-pptx 라이브러리 뢈러였기 from pptx import Presentation # μƒˆλ‘œμš΄ ν”„λ ˆμ  ν…Œμ΄μ…˜ 객체 생성 prs = Presentation() # 첫 번째 μŠ¬λΌμ΄λ“œ μΆ”κ°€ slide_content = prs.slides.add_slide(prs.slide_layouts[1]) # 첫 번째 μŠ¬λΌμ΄λ“œμ˜ 제λͺ© 선택 title_content = slide_content.shapes.title # μŠ¬λΌμ΄λ“œ λ‚΄ λ³Έλ¬Έ 선택 (2번째 ν”Œλ ˆμ΄μŠ€ν™€λ”) content = slide_content.placeholders[1] # μ„ νƒν•œ 제λͺ©μ— ν…μŠ€νŠΈ μΆ”κ°€ title_content.text = "μ•ˆλ…•ν•˜μ„Έμš”" # ν”Œλ ˆμ΄μŠ€ν™€λ”λ‘œ μ„ νƒν•œ 본문에 ν…μŠ€νŠΈ μΆ”κ°€ content.text = "μ½”λ“œν”„λ Œμ¦ˆμž…λ‹ˆλ‹€" # ν”„λ ˆμ  ν…Œμ΄μ…˜ 파일 μ €μž₯ prs.save("output_file.pptx")

placeholdersλŠ” μŠ¬λΌμ΄λ“œ λ ˆμ΄μ•„μ›ƒ 내에 미리 μ •μ˜λœ 곡간, 즉 ν”Œλ ˆμ΄μŠ€ν™€λ”λ₯Ό μ°Έμ‘°ν•˜λŠ” μ†μ„±μž…λ‹ˆλ‹€.

ν”Œλ ˆμ΄μŠ€ν™€λ”λŠ” 제λͺ©, λΆ€μ œλͺ©, λ³Έλ¬Έ, 이미지, ν‘œ λ“± μŠ¬λΌμ΄λ“œ λ‚΄μ˜ νŠΉμ • μœ„μΉ˜μ— μ‘΄μž¬ν•˜λŠ” μ½˜ν…μΈ  μƒμžμž…λ‹ˆλ‹€.

placeholders[1]은 2번째 ν”Œλ ˆμ΄μŠ€ν™€λ”λ₯Ό μ˜λ―Έν•˜λ©°, νŒŒμ›Œν¬μΈνŠΈ μŠ¬λΌμ΄λ“œ λ ˆμ΄μ•„μ›ƒμ— 따라 λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ½˜ν…μΈ κ°€ 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ output_file.pptxλΌλŠ” μ΄λ¦„μ˜ νŒŒμ›Œν¬μΈνŠΈ 파일이 μƒμ„±λ©λ‹ˆλ‹€.

νŒŒμΌμ„ 열어보면 첫 번째 μŠ¬λΌμ΄λ“œμ— "제λͺ©"κ³Ό "λ³Έλ¬Έ"이 μΆ”κ°€λœ 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.


μ½”λ“œ μ„€λͺ…

κ°„λ‹¨ν•œ ν”„λ ˆμ  ν…Œμ΄μ…˜ μƒμ„±ν•˜κΈ°
prs = Presentation()

python-pptxλŠ” Presentation() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•΄ μƒˆλ‘œμš΄ νŒŒμ›Œν¬μΈνŠΈ 파일 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.


μŠ¬λΌμ΄λ“œ μΆ”κ°€ν•˜κΈ°
slide_content = prs.slides.add_slide(prs.slide_layouts[1])

그리고 slides.add_slide()λ₯Ό μ‚¬μš©ν•΄ νŒŒμ›Œν¬μΈνŠΈ 파일 객체 λ‚΄ μŠ¬λΌμ΄λ“œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

add_slide λ©”μ„œλ“œ μ•ˆμ— λ“€μ–΄κ°€λŠ” 인자인 prs.slide_layouts[1]은 μŠ¬λΌμ΄λ“œ λ ˆμ΄μ•„μ›ƒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

PowerPointλŠ” μ—¬λŸ¬ 가지 ν‘œμ€€ λ ˆμ΄μ•„μ›ƒμ„ μ œκ³΅ν•˜λ©°, slide_layouts[1]은 제λͺ© μƒμžμ™€ λ³Έλ¬Έ λ‚΄μš©μ„ 넣을 수 μžˆλŠ” μ½˜ν…μΈ  μƒμžκ°€ ν¬ν•¨λœ λ ˆμ΄μ•„μ›ƒμž…λ‹ˆλ‹€.


제λͺ©κ³Ό λ³Έλ¬Έ μΆ”κ°€ν•˜κΈ°
# 첫 번째 μŠ¬λΌμ΄λ“œμ˜ 제λͺ© 선택 title_content = slide_content.shapes.title # 첫 번째 μŠ¬λΌμ΄λ“œμ˜ λ³Έλ¬Έ 선택 content = slide_content.placeholders[1] # μ„ νƒν•œ 제λͺ©μ— ν…μŠ€νŠΈ μΆ”κ°€ title_content.text = "μ•ˆλ…•ν•˜μ„Έμš”" # μ„ νƒν•œ 본문에 ν…μŠ€νŠΈ μΆ”κ°€ content.text = "μ½”λ“œν”„λ Œμ¦ˆμž…λ‹ˆλ‹€"

slide_content λ³€μˆ˜μ— 첫 번째 μŠ¬λΌμ΄λ“œλ₯Ό μΆ”κ°€ν•˜κ³ , slide_content.shapes.title을 μ‚¬μš©ν•΄ 제λͺ© μƒμžλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

shapesλŠ” μŠ¬λΌμ΄λ“œ λ‚΄ λͺ¨λ“  객체λ₯Ό λ‚˜νƒ€λ‚΄λ©°, μŠ¬λΌμ΄λ“œ λ‚΄ 객체 쀑 title은 제λͺ© μƒμžλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

slide_content.placeholders[1]은 λ³Έλ¬Έ λ‚΄μš©μ„ 넣을 수 μžˆλŠ” μ½˜ν…μΈ  μƒμžλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

placeholdersλŠ” μŠ¬λΌμ΄λ“œ λ ˆμ΄μ•„μ›ƒ 내에 미리 μ •μ˜λœ 곡간, 즉 ν”Œλ ˆμ΄μŠ€ν™€λ”λ₯Ό μ°Έμ‘°ν•˜κΈ° μœ„ν•œ μ†μ„±μž…λ‹ˆλ‹€.

ν”Œλ ˆμ΄μŠ€ν™€λ”λŠ” 제λͺ©, λΆ€μ œλͺ©, λ³Έλ¬Έ, 이미지, ν‘œ λ“± λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ½˜ν…μΈ λ₯Ό 포함할 수 μžˆλŠ” μŠ¬λΌμ΄λ“œ λ‚΄μ˜ νŠΉμ • μœ„μΉ˜μ— μ‘΄μž¬ν•˜λŠ” ν…μŠ€νŠΈ μƒμžλ‚˜ μ½˜ν…μΈ  μƒμžμž…λ‹ˆλ‹€.


νŒŒμ›Œν¬μΈνŠΈ 파일 μ €μž₯ν•˜κΈ°
prs.save("output_file.pptx")

λ§ˆμ§€λ§‰μœΌλ‘œ save λ©”μ„œλ“œλŠ” ν”„λ ˆμ  ν…Œμ΄μ…˜ 객체둜 μƒμ„±ν•œ νŒŒμ›Œν¬μΈνŠΈ νŒŒμΌμ„ μ €μž₯ν•©λ‹ˆλ‹€.


μ‹€μŠ΅

μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  제λͺ©(title)κ³Ό λ³Έλ¬Έ(content)이 μΆ”κ°€λœ νŒŒμ›Œν¬μΈνŠΈ μŠ¬λΌμ΄λ“œλ₯Ό ν™•μΈν•΄λ³΄μ„Έμš”.

Mission
0 / 1

μ•„λž˜ λΉˆμΉΈμ— κ°€μž₯ μ ν•©ν•œ μ½”λ“œλŠ” λ¬΄μ—‡μΌκΉŒμš”?

python-pptxλŠ” 둜 μŠ¬λΌμ΄λ“œμ— 미리 μ •μ˜λœ λ ˆμ΄μ•„μ›ƒμ˜ μ½˜ν…μΈ λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
title
placeholders
save()
add_slide()

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result

Result

The document is empty.

Try running the code.