Operaciones básicas de Python en documentos PPT
Directorio de artículos
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:
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:
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:
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:
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.