python办公自动化:使用`Python-PPTX`的样式与格式

1 文本样式和格式设置

在演示文稿中,文本的样式和格式是影响观众体验的重要因素。python-pptx库提供了一系列方法来控制文本的字体、大小、颜色、对齐方式等。

1.1 基本文本样式设置

你可以使用python-pptx中的TextFrame对象来设置文本框中的文本样式。以下是一些基本的文本样式设置方法。

示例代码:设置文本样式
from pptx import Presentation
from pptx.util import Pt
from pptx.enum.text import PP_ALIGN
from pptx.dml.color import RGBColor

# 创建演示文稿对象
prs = Presentation()

# 添加幻灯片
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
title.text = "文本样式示例"

# 添加文本框
text_box = slide.shapes.add_textbox(left=Pt(100), top=Pt(150), width=Pt(400), height=Pt(150))
text_frame = text_box.text_frame
text_frame.text = "这是一个文本框"

# 设置字体样式
p = text_frame.paragraphs[0]
p.font.size = Pt(24)
p.font.bold = True
p.font.italic = True
p.font.color.rgb = RGBColor(0x42, 0x24, 0xE9)  # 设置文本颜色为紫色
p.alignment = PP_ALIGN.CENTER

# 保存演示文稿
prs.save('text_style_presentation.pptx')

此代码展示了如何创建一个文本框并设置其字体大小、粗体、斜体、颜色和对齐方式。

1.2 设置段落样式

python-pptx也允许设置段落的样式,例如缩进、行距和对齐方式。

示例代码:设置段落样式
from pptx import Presentation
from pptx.util import Pt
from pptx.enum.text import PP_ALIGN

# 创建演示文稿对象
prs = Presentation()

# 添加幻灯片
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)

# 添加文本框
text_box = slide.shapes.add_textbox(left=Pt(100), top=Pt(150), width=Pt(400), height=Pt(150))
text_frame = text_box.text_frame

# 添加段落并设置样式
p = text_frame.add_paragraph()
p.text = "这是段落1"
p.font.size = Pt(20)
p.space_after = Pt(14)  # 设置段落后间距
p.alignment = PP_ALIGN.LEFT

p2 = text_frame.add_paragraph()
p2.text = "这是段落2"
p2.font.size = Pt(20)
p2.space_before = Pt(14)  # 设置段落前间距
p2.alignment = PP_ALIGN.RIGHT

# 保存演示文稿
prs.save('paragraph_style_presentation.pptx')

上述代码演示了如何通过add_paragraph方法添加段落,以及如何使用space_afterspace_before来设置段落间距。

1.3 使用文本样式的实际案例

在企业演示中,不同的幻灯片内容可能需要不同的文本样式。例如,标题幻灯片通常使用大字体和粗体,正文幻灯片则采用较小字体和正常的字体样式。以下是一个多幻灯片文本样式的案例。

示例代码:应用不同文本样式到不同幻灯片
from pptx import Presentation
from pptx.util import Pt
from pptx.dml.color import RGBColor

# 创建演示文稿对象
prs = Presentation()

# 添加标题幻灯片
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
title.text = "公司年会总结"

# 标题文本样式
title.text_frame.paragraphs[0].font.size = Pt(36)
title.text_frame.paragraphs[0].font.bold = True

# 添加正文幻灯片
slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(slide_layout)
body_shape = slide.shapes.placeholders[1]
tf = body_shape.text_frame

# 正文文本样式
p = tf.add_paragraph()
p.text = "今年公司业绩增长了20%,超出了预期目标。"
p.font.size = Pt(18)
p.font.color.rgb = RGBColor(0x0, 0x0, 0x0)

p = tf.add_paragraph()
p.text = "下一年度的目标是继续优化产品线并开拓新市场。"
p.font.size = Pt(18)
p.font.color.rgb = RGBColor(0x0, 0x0, 0x0)

# 保存演示文稿
prs.save('corporate_presentation.pptx')
2 形状样式和效果

形状在PowerPoint中是非常灵活和重要的元素。python-pptx允许用户创建各种形状,并对其样式进行自定义设置。

2.1 创建形状并设置样式

你可以使用add_shape方法来创建各种形状,并使用属性设置其颜色、边框、透明度等样式。

示例代码:创建矩形并设置样式
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor
from pptx.util import Inches

# 创建演示文稿对象
prs = Presentation()

# 添加幻灯片
slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(slide_layout)

# 添加矩形
left = Inches(1)
top = Inches(1)
width = Inches(3)
height = Inches(1.5)
shape = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, height)

# 设置矩形样式
shape.fill.solid()
shape.fill.fore_color.rgb = RGBColor(0xFF, 0x00, 0x00)  # 设置填充颜色为红色
shape.line.color.rgb = RGBColor(0x00, 0x00, 0xFF)  # 设置边框颜色为蓝色
shape.line.width = Pt(2)  # 设置边框宽度

# 保存演示文稿
prs.save('shape_style_presentation.pptx')
2.2 应用形状效果

你可以应用各种形状效果,如阴影、反射和发光效果,以增强幻灯片的视觉吸引力。

示例代码:应用阴影效果
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.util import Inches

# 创建演示文稿对象
prs = Presentation()

# 添加幻灯片
slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(slide_layout)

# 添加圆形
left = Inches(2)
top = Inches(2)
width = Inches(2)
height = Inches(2)
shape = slide.shapes.add_shape(MSO_SHAPE.OVAL, left, top, width, height)

# 应用阴影效果
shadow = shape.shadow
shadow.inherit = False
shadow.blur_radius = Pt(8)
shadow.distance = Pt(5)
shadow.angle = 45
shadow.color.rgb = RGBColor(0, 0, 0)

# 保存演示文稿
prs.save('shape_effect_presentation.pptx')
3 使用主题颜色和字体

主题颜色和字体帮助用户在整个演示文稿中保持一致性。python-pptx支持对这些主题元素进行自定义。

3.1 应用主题颜色

你可以从幻灯片母版中提取主题颜色,应用到文本、形状或其他元素上。

示例代码:使用主题颜色
from pptx import Presentation
from pptx.dml.color import RGBColor
from pptx.util import Inches

# 创建演示文稿对象
prs = Presentation()

# 获取母版主题颜色
slide_master = prs.slide_master
theme_color = slide_master.theme_color_scheme

# 添加幻灯片和形状
slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(slide_layout)
shape = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(1), Inches(1), Inches(4), Inches(2))

# 应用主题颜色
shape.fill.solid()
shape.fill.fore_color.theme_color = theme_color.ACCENT_1  # 使用主题中的第一种强调色

# 保存演示文稿
prs.save('theme_color_presentation.pptx')

3.2 自定义字体

主题字体决定了演示文稿中默认的字体样式。你可以通过更改主题字体来影响整个演示文稿的文本外观。

示例代码:自定义主题字体
from pptx import Presentation
from pptx.util import Pt

# 创建演示文稿对象
prs = Presentation()

# 设置自定义字体
slide = prs.slides.add_slide(prs.slide_layouts[0])
title = slide.shapes.title
title.text = "自定义字体示例"
title.text_frame.paragraphs[0].font.name = 'Arial'
title.text_frame.paragraphs[0].font.size = Pt(32)

# 保存演示文稿
prs.save('custom_font_presentation.pptx')
  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值