gpt4 book ai didi

python - 如何更改 python pptx 对象的字体大小

转载 作者:行者123 更新时间:2023-12-01 08:23:26 26 4
gpt4 key购买 nike

我想更改我的 pptx 演示文稿的标题和正文的字体大小。我尝试通过 title_shape.font = Pt(15)body_shape.font = Pt(10) 设置它,但不起作用。

这是我的代码:

from pptx import Presentation, util, text
from pptx.util import Cm, Pt
import fnmatch
import os

import contentOf_pptx as contOfPres


# ..............
# Generate presentation
# ..............
prs = Presentation()
#blank_slide_layout = prs.slide_layouts[6] #blank layout, see slide layout in powerpoint
title_only = prs.slide_layouts[5] #title only, see slide layout in powerpoint



# ..............
# set layout
# ..............
bullet_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(bullet_slide_layout)
shapes = slide.shapes

title_shape = shapes.title
title_shape.font = Pt(15)

body_shape = shapes.placeholders[1]
body_shape.font = Pt(10)

# ..............
# set relevant text objects
# ..............
title_shape.text = 'Test Title'

tf = body_shape.text_frame
tf.text = 'Test SubText'


# ----------------------------------
# Store pptx
# ----------------------------------
prs.save('C:\\tests\\test_pptx_python.pptx')

最佳答案

Shape 对象没有 .font 属性(至少在您通过分配该名称添加一个属性之前没有:)

FontRun 对象的特征;连续串是共享相同字符格式的字符序列,也广泛称为字体

Paragraph 对象有一个 .font 属性,其使用方式相同,但它指定默认字体 用于段落中的运行。该段落中的各个运行可以通过设置自己的字体对象的属性来覆盖默认值。

如果您只想要一种形状字体(这很常见),最快的方法可能是:

shape.text_frame.paragraphs[0].font.size = Pt(15)

这是有效的,因为大多数形状只包含一个段落(并且所有形状都必须至少包含一个)。

更彻底的是:

for paragraph in shape.text_frame.paragraphs:
paragraph.font.size = Pt(15)

更彻底的是:

for paragraph in shape.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = Pt(15)

有关此内容的更多详细信息,请参阅此处的文档:
https://python-pptx.readthedocs.io/en/latest/user/text.html

关于python - 如何更改 python pptx 对象的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54464130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com