Python implementa la ofimática (3): operaciones básicas de Python en documentos PPT (python-pptx)

Operaciones básicas de Python en documentos PPT

1. módulo pptx

1. Documentos oficiales

Documentación oficial de la biblioteca pptx: documentación de python-pptx 0.6.21

2. Instalar el módulo pptx

pip3 install python-pptx

2. Cómo utilizar las funciones básicas

Inicializar ppt: ppt = Presentation()
inserte una página de diapositivas, use el número de diseño:slide = ppt.slides.add_slide(ppt.slide_layouts[num])

El número de diseño correspondiente se muestra en la siguiente figura:

inserte la descripción de la imagen aquí
Obtenga todos los marcadores de posición de esta página ppt: shape = slide.shapes.placeholders # 占位符:placeholders
escriba contenido en la forma [num]: shape[num].text = 'xx'
obtenga la forma del título de esta página ppt: title_shape = slide.shapes.title
escriba contenido en la forma del título: title_shape.text = 'xx'
agregue un párrafo a la forma [num]: para = shape[num].text_frame.add_paragraph()
escriba contenido en el párrafo: para.text = 'xx'
establezca el párrafo Si la fuente está en negrita: para.font.blod = True
establece el tamaño de fuente del párrafo: para.font.size = Pt(num)
establece si se agrega subrayado de fuente al párrafo: para.font.underline = True
inserta el cuadro de texto: textBox = slide.shapes.add_textbox(left,top,width,height)
inserta la imagen: picture = slide.shapes.add_picture('图片',left,top,width,height)
inserta la tabla: table = slide.shapes.add_table(rows=num,cols=num,left,top,width,height).table
establece el ancho de la enésima columna de la tabla: table.columns[n].width = Inches(num)
escribe el contenido de la celda de la tabla:table.cell(x,y).text = 'xx'

Margen: izquierda = pulgadas (núm) arriba = pulgadas (núm) Ancho
y alto: ancho = pulgadas (núm) alto = pulgadas (núm)
La operación de la tabla puede referirse a Python para realizar una oficina automatizada (1): operación básica de Python de Excel (openpyxl) , también puede consultar directamente el PPT en la cuarta página del caso a continuación.

Guardar ppt:ppt.save('xx.pptx')

3. Casos de uso

1. Modificar el contenido ppt

Primero, hay un PPT como este:
inserte la descripción de la imagen aquí
a través del siguiente código:

from pptx import Presentation
from pptx.util import Inches,Pt

ppt = Presentation('python_ppt.pptx')   # 初始化ppt

slide = ppt.slides[0]   # 定位到ppt的第一张幻灯片
print('slide: ',slide,'\n')

shapes = slide.shapes   # 获取所有的shape
print('shapes: ',shapes,'\n')

print(shapes[0].text_frame.paragraphs[0].text)   # 打印出shape[0]第一段的内容
print(shapes[1].text_frame.paragraphs[0].text)   # 打印出shape[1]第一段的内容

#进行修改
shapes[0].text_frame.paragraphs[0].text = '人生苦短'   # 修改shape[0]第一段的内容
shapes[1].text_frame.paragraphs[0].runs[0].text = '我学python'   # 修改shape[1]第一段第一行的内容

ppt.save('python_ppt.pptx')

Modificar como:
inserte la descripción de la imagen aquí
Proceso de modificación:
primero ubique el cuadro de texto de la página que se va a modificar, luego ubique el párrafo o la línea del párrafo y luego alinee el contenido para la modificación. Las ejecuciones en el código modificado anterior son todas las líneas del párrafo.
Acerca de la ejecución, consulte: Python realiza la automatización de la oficina (2): operaciones básicas de Python en documentos de Word (python-docx) 2. Cómo usar funciones básicas y 3. Casos de uso 1. Leer párrafos y líneas .

2. Escribe contenido

from pptx import Presentation
from pptx.util import Inches,Pt

ppt = Presentation()   # 初始化ppt

#------------------# 第一页PPT
slide_1 = ppt.slides.add_slide(ppt.slide_layouts[0])   # 插入一页幻灯片,使用布局0

shape_1 = slide_1.shapes.placeholders   # 获取此页ppt的所有占位符

shape_1[0].text = 'CSDN'   # 对shape[0]写入内容
shape_1[1].text = 'Python操作PPT'   # 对shape[1]写入内容
#------------------#

#------------------# 第二页PPT
slide_2 = ppt.slides.add_slide(ppt.slide_layouts[1])   # 插入一页幻灯片,使用布局1

title_shape = slide_2.shapes.title   # 获取此页ppt标题的shape
title_shape.text = '我 ♥ Python'   # 对标题shape写入内容

shape_2 = slide_2.shapes.placeholders   # 获取此页ppt的所有占位符

para_1 = shape_2[1].text_frame.add_paragraph()   # 在shape[1]添加段落
para_1.text = '人生苦短'   # 对para_1写入内容
para_1.font.size = Pt(30)   # 设置段落字体大小
para_1.font.underline = True   # 设置段落是否添加字体下划线

para_2 = shape_2[1].text_frame.add_paragraph()   # 在shape[1]添加段落
para_2.text = '我学Python'   # 对para_2写入内容
para_2.font.size = Pt(50)   # 设置段落字体大小
para_2.font.blod = True   # 设置段落字体是否粗体

#设置边距
left = Inches(3)
top = Inches(6)
width = Inches(6)
height = Inches(6)

textBox = slide_2.shapes.add_textbox(left=Inches(3.5),top=Inches(6),width=Inches(6),height=Inches(6))   # 插入新的文本框
textBox.text = '加个⭐的文本框'   # 添加内容
#------------------#

#------------------# 第三页PPT
slide_3 = ppt.slides.add_slide(ppt.slide_layouts[5])   # 插入一页幻灯片,使用布局5

slide_3.shapes.placeholders[0].text = '笠li笠'   # 对第三页PPT的第一个shape写入内容

picture = slide_3.shapes.add_picture('picture.jpg',left=Inches(3.2),top=Inches(2),width=Inches(3.5),height=Inches(5))   # 插入图片
#------------------#

#------------------# 第四页PPT
slide_4 = ppt.slides.add_slide(ppt.slide_layouts[6])   # 插入一页幻灯片,使用布局6
table = slide_4.shapes.add_table(rows=2,cols=2,left=Inches(2),top=Inches(2),width=Inches(5),height=Inches(2)).table   # 插入表格
table.columns[0].width = Inches(2)   # 设置第0列的宽度
table.columns[1].width = Inches(3)   # 设置第1列的宽度

#添加内容
table.cell(0,0).text = 'ppt'
table.cell(0,1).text = '对应库'
table.cell(1,0).text = 'Python'
table.cell(1,1).text = 'python-pptx'
#------------------#

ppt.save('python.pptx')

Resultados como se muestra a continuación:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
El efecto de vídeo es el siguiente:

Hacer PPT con Python

Soy estudiante y actualmente estoy estudiando. Este artículo son mis notas de estudio. Por favor corríjanme si me equivoco.

Supongo que te gusta

Origin blog.csdn.net/xztli/article/details/121889878
Recomendado
Clasificación