| name | python-pptx-2-advanced-text-formatting |
| description | Sub-skill of python-pptx: 2. Advanced Text Formatting. |
| version | 1.0.0 |
| category | data |
| type | reference |
| scripts_exempt | true |
2. Advanced Text Formatting
2. Advanced Text Formatting
"""
Advanced text formatting with runs, fonts, and paragraph styles.
"""
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.dml.color import RgbColor
from pptx.oxml.ns import nsmap
def () -> :
prs = Presentation()
slide_layout = prs.slide_layouts[]
slide = prs.slides.add_slide(slide_layout)
title_box = slide.shapes.add_textbox(
Inches(), Inches(),
Inches(), Inches()
)
tf = title_box.text_frame
p = tf.paragraphs[]
p.alignment = PP_ALIGN.CENTER
run1 = p.add_run()
run1.text =
run1.font.size = Pt()
run1.font.bold =
run1.font.color.rgb = RgbColor(, , )
run2 = p.add_run()
run2.text =
run2.font.size = Pt()
run2.font.bold =
run2.font.color.rgb = RgbColor(, , )
run3 = p.add_run()
run3.text =
run3.font.size = Pt()
run3.font.bold =
run3.font.color.rgb = RgbColor(, , )
content_box = slide.shapes.add_textbox(
Inches(), Inches(),
Inches(), Inches()
)
tf = content_box.text_frame
tf.word_wrap =
p1 = tf.paragraphs[]
p1.text =
p1.font.size = Pt()
p1.font.bold =
p1.space_after = Pt()
p2 = tf.add_paragraph()
p2.text = (
)
p2.font.size = Pt()
p2.space_after = Pt()
p2.line_spacing =
p3 = tf.add_paragraph()
p3.text =
p3.font.size = Pt()
p3.font.bold =
p3.font.color.rgb = RgbColor(, , )
run = p3.add_run()
run.text =
run.font.size = Pt()
run.font.italic =
p4 = tf.add_paragraph()
p4.space_before = Pt()
run = p4.add_run()
run.text =
run.font.size = Pt()
sub = p4.add_run()
sub.text =
sub.font.size = Pt()
sub.font._element.(
,
)
run = p4.add_run()
run.text =
run.font.size = Pt()
sup = p4.add_run()
sup.text =
sup.font.size = Pt()
sup.font._element.(
,
)
bullet_box = slide.shapes.add_textbox(
Inches(), Inches(),
Inches(), Inches()
)
tf = bullet_box.text_frame
p = tf.paragraphs[]
p.text =
p.font.size = Pt()
p.font.bold =
bullets = [
(, , ),
(, , ),
(, , ),
]
metric, value, change bullets:
p = tf.add_paragraph()
p.level =
run = p.add_run()
run.text =
run.font.size = Pt()
run.font.bold =
run = p.add_run()
run.text =
run.font.size = Pt()
run = p.add_run()
run.text =
run.font.size = Pt()
run.font.color.rgb = RgbColor(, , )
prs.save(output_path)
()
create_formatted_presentation()