Python实现向PPT中插入表格与图片的方法详解

 更新时间:2022年05月23日 09:32:17   作者:渴望力量的哈士奇  
这篇文章将带大家学习一下如何在PPT中插入表格与图片以及在表格中插入内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

上一章节学习了如何在 PPT 中添加段落以及自定义段落(书写段落的内容以及样式的调整),今天的章节将学习在 PPT 中插入表格与图片以及在表格中插入内容。

废话不多说了,直接进入主题。

插入表格

首先还是要生成 PPT 对象:

ppt = Presentation() 通过 Presentation() 实例化一个 ppt 对象(Presentation 可以通过 python-pptx 直接拿过来使用)

选择布局:

layout = ppt.slide_layout[1] 这里选择了样式1 ,样式1包含了一个 title 和一个段落

插入 PPT 页面

slide = ppt.slides.add_slide(layout) 通过 slides.add_slide(layput) 函数将 layout 传入,就生成一页PPT了

定义表格:

table = slide.shapes.add_table(行数, 列数, left, top, width, height).table

left, top, width, height 对应着表格插入 PPT 页面的其实位置与宽高度,这样就可以获取 table 对象了

书写表格内容:

table.cell(行, 列).text = 内容 通过 table 对象 调用 cell(行, 列).text 就可以输入表格的内容了

代码示例如下:(依然使用上一章节的脚本,定义第三页的 PPT ,然后加入表格。)

# coding:utf-8

import pptx
from pptx.util import Pt, Inches
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.dml.color import RGBColor

ppt = pptx.Presentation()  # 生成ppt对象

layout = ppt.slide_layouts[1]  # 选择布局 1

slide = ppt.slides.add_slide(layout)

title = slide.placeholders[0]        # 获取title
placeholder = slide.placeholders[1]  # 获取内容
title.text = "这是title"
# placeholder.text = "这是第一行段落内容\n这是第二行段落内容"


paragraph1 = placeholder.text_frame.add_paragraph()     # 定义第一个段落的样式
paragraph1.text = '欢迎学习ppt制作'   # 第一个样式段落的内容为 "欢迎学习ppt制作"
paragraph1.bold = True              # 第一个样式段落的字体为粗体
paragraph1.font.italic = True       # 第一个样式段落的字体为斜体
paragraph1.font.size = Pt(16)       # 第一个样式段落的字体大小为 16 ;需要 from pptx.util import Pt
paragraph1.font.underline = True    # 第一个样式段落的字体有下划线
paragraph1.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER    # 居中;需 from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT

paragraph2 = placeholder.text_frame.add_paragraph()     # 定义第二个段落的样式
paragraph2.text = '欢迎学习python'  # 第二个样式段落的内容为 "欢迎学习python"
paragraph2.font.size = Pt(32)      # 第二个样式段落的字体大小为 32
paragraph2.alignment = PP_PARAGRAPH_ALIGNMENT.RIGHT     # 居右


layout = ppt.slide_layouts[6]  # 定义布局,使用样式 6 (样式6 只有一个title)
slide = ppt.slides.add_slide(layout)
left = top = width = height = Inches(5)     # 定义 box 对象的位置与宽高
box = slide.shapes.add_textbox(left, top, width, height)        # 实例化一个 box 对象
para = box.text_frame.add_paragraph()       # 定义一个段落对象

para.text = 'this is a para test'                   # 自定义段落对象写入段落内容
para.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER      # 居中
para.font.size = Pt(38)                             # 设置字体大小
para.font.color.rgb = RGBColor(255, 0, 0)         # 设置颜色
para.font.name = '微软雅黑'                          # 设置字体


layout = ppt.slide_layouts[1]           # 定义第三个 PPT 页面 插入表格
slide = ppt.slides.add_slide(layout)

rows = 10       # 行
cols = 2        # 列

left = top = Inches(2)      # 表格起始位置
width = Inches(6.0)         # 宽
height = Inches(1.0)        # 高

table = slide.shapes.add_table(rows, cols, left, top, width, height).table      # 实例化 table 对象

for index, _ in enumerate(range(rows)):     # 利用 for 循环 与索引写入表格内容;第一个循环对应行;第二个循环对应列
    for sub_index in range(cols):
        table.cell(index, sub_index).text = '第{}行:第{}列'.format(index+1, sub_index+1)

ppt.save("test2.ppt")

运行结果如下:

插入图片

接下来学习 PPT插入类型的最后一个知识点 —> 插入图片 。

插入图片的步骤的前三步骤与插入表格一致:

首先还是要生成 PPT 对象:

ppt = Presentation() 通过 Presentation() 实例化一个 ppt 对象(Presentation 可以通过 python-pptx 直接拿过来使用)

选择布局:

layout = ppt.slide_layout[1] 这里选择了样式1 ,样式1包含了一个 title 和一个段落

插入 PPT 页面:

slide = ppt.slides.add_slide(layout) 通过 slides.add_slide(layput) 函数将 layout 传入,就生成一页PPT了

插入图片:

image = slide.shapes.add_picture(图片, left, top, width, height)

left, top, width, height :对应着图片插入 PPT 页面的其实位置与宽高度,这样就可以获取 image 对象了

代码示例如下:(继续沿用上面的脚本)

# coding:utf-8
import pptx
from pptx.util import Pt, Inches
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.dml.color import RGBColor

ppt = pptx.Presentation()  # 生成ppt对象

layout = ppt.slide_layouts[1]  # 选择布局 1

slide = ppt.slides.add_slide(layout)

title = slide.placeholders[0]        # 获取title
placeholder = slide.placeholders[1]  # 获取内容
title.text = "这是title"
# placeholder.text = "这是第一行段落内容\n这是第二行段落内容"

paragraph1 = placeholder.text_frame.add_paragraph()     # 定义第一个段落的样式
paragraph1.text = '欢迎学习ppt制作'   # 第一个样式段落的内容为 "欢迎学习ppt制作"
paragraph1.bold = True              # 第一个样式段落的字体为粗体
paragraph1.font.italic = True       # 第一个样式段落的字体为斜体
paragraph1.font.size = Pt(16)       # 第一个样式段落的字体大小为 16 ;需要 from pptx.util import Pt
paragraph1.font.underline = True    # 第一个样式段落的字体有下划线
paragraph1.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER    # 居中;需 from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT

paragraph2 = placeholder.text_frame.add_paragraph()     # 定义第二个段落的样式
paragraph2.text = '欢迎学习python'  # 第二个样式段落的内容为 "欢迎学习python"
paragraph2.font.size = Pt(32)      # 第二个样式段落的字体大小为 32
paragraph2.alignment = PP_PARAGRAPH_ALIGNMENT.RIGHT     # 居右


layout = ppt.slide_layouts[6]  # 定义布局,使用样式 6 (样式6 只有一个title)
slide = ppt.slides.add_slide(layout)
left = top = width = height = Inches(5)     # 定义 box 对象的位置与宽高
box = slide.shapes.add_textbox(left, top, width, height)        # 实例化一个 box 对象
para = box.text_frame.add_paragraph()       # 定义一个段落对象

para.text = 'this is a para test'                   # 自定义段落对象写入段落内容
para.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER      # 居中
para.font.size = Pt(38)                             # 设置字体大小
para.font.color.rgb = RGBColor(255, 0, 0)         # 设置颜色
para.font.name = '微软雅黑'                          # 设置字体


layout = ppt.slide_layouts[1]           # 定义第三个 PPT 页面 插入表格
slide = ppt.slides.add_slide(layout)

rows = 10       # 行
cols = 2        # 列

left = top = Inches(2)      # 表格起始位置
width = Inches(6.0)         # 宽
height = Inches(1.0)        # 高

table = slide.shapes.add_table(rows, cols, left, top, width, height).table      # 实例化 table 对象

for index, _ in enumerate(range(rows)):     # 利用 for 循环 与索引写入表格内容;第一个循环对应行;第二个循环对应列
    for sub_index in range(cols):
        table.cell(index, sub_index).text = '第{}行:第{}列'.format(index+1, sub_index+1)


layout = ppt.slide_layouts[6]           # 定义第四个 PPT 页面 插入图片
slide = ppt.slides.add_slide(layout)

image = slide.shapes.add_picture(
    image_file='test_image.png',
    left=Inches(1),
    top=Inches(1),
    width=Inches(6),
    height=Inches(4)
)

ppt.save("test2.ppt")

运行结果如下:

到此这篇关于Python实现向PPT中插入表格与图片的方法详解的文章就介绍到这了,更多相关Python PPT插入表格图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 怎样用cmd命令行运行Python文件

    怎样用cmd命令行运行Python文件

    这篇文章主要介绍了怎样用cmd命令行运行Python文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python中openpyxl实现vlookup函数的实例

    Python中openpyxl实现vlookup函数的实例

    在本篇文章里小编给大家整理的是关于Python中openpyxl实现vlookup函数的实例内容,有兴趣的朋友们可以学习参考下。
    2020-10-10
  • 用Python进行行为驱动开发的入门教程

    用Python进行行为驱动开发的入门教程

    这篇文章主要介绍了用Python进行行为驱动开发的入门教程,本文也对BDD的概念做了详细的解释,需要的朋友可以参考下
    2015-04-04
  • Python3.0 实现决策树算法的流程

    Python3.0 实现决策树算法的流程

    这篇文章主要介绍了Python3.0 实现决策树算法的流程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python读取数据集并消除数据中的空行方法

    Python读取数据集并消除数据中的空行方法

    今天小编就为大家分享一篇Python读取数据集并消除数据中的空行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python新手学习可变和不可变对象

    python新手学习可变和不可变对象

    在本篇文章里小编给大家分享了是一篇关于python可变对象和不可变对象的基础知识点内容,有需要的朋友们可以参考下。
    2020-06-06
  • Pandas+Matplotlib 箱式图异常值分析示例

    Pandas+Matplotlib 箱式图异常值分析示例

    今天小编就为大家分享一篇Pandas+Matplotlib 箱式图异常值分析示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 使用Python PIL库读取文件批量处理图片大小实现

    使用Python PIL库读取文件批量处理图片大小实现

    这篇文章主要为大家介绍了使用Python PIL库读取文件批量处理图片大小实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Python如何为图片添加水印

    Python如何为图片添加水印

    这篇文章主要介绍了Python如何使用Python-Pillow库给图片添加水印的方法,非常的简单实用,有需要的小伙伴可以参考下
    2016-11-11
  • PyCharm取消波浪线、下划线和中划线的实现

    PyCharm取消波浪线、下划线和中划线的实现

    这篇文章主要介绍了PyCharm取消波浪线、下划线和中划线的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论