ppt里运行python,python操作ppt的模块

  ppt里运行python,python操作ppt的模块

  一.导言

  大家好,今天还是Python办公自动化基础系列,之前我们已经详细讲解过了。

  今天基于第三方库pptx,本文将详细讲解如何使用Python操作Office bucket的最后——PPT。

  二。装置

  Pptx是非标准库,需要在命令行安装pipinstallpython-pptx。

  注意,python-pptx是安装的,但实际调用的是pptx。这里和docx模块一样。

  第三,预知

  1.基本结构

  再看ppt结构,会比word复杂很多。当然,这也和ppt高度定制化的扩展性有关。

  简单来说,一个PPT文件就是演示文稿,它的基本结构是演示文稿文件-幻灯片-页面-形状shape。形状需要区分,是否包含文字(纯图片等。).

  如果是包含文字的形状,可以得到内部的文本框,一个文本框可以看作一个小的word文档,包括段落段落-文本块run。

  现在,对办公三件套的结构做一个小总结。

  2.模板和占位符

  如上图所示,我们可以通过幻灯片母版预设各种布局。以后创建新幻灯片时,我们只需点击布局,一键生成所需的基本格式。

  先说占位符占位符。

  占位符已经完成了样式设置,包括字体、字号、颜色等。在特定占位符中输入的文本可以直接转换成特定的样式。

  3.创建PPT文件的基本思路创建PPT

  根据幻灯片母版确定版式。

  在不同的占位符中填写不同的内容。

  添加附加内容,如图片和表格。

  对样式进行更改。

  四、Python读PPT

  1.从pptximportPresentation打开PPT文件。

  #这里是需要打开的文件的路径

  file_path=r .

  pptx=演示文稿(文件路径)

  2.获取幻灯片页面

  您可以使用pptx.slides获得一个列表,包括slideinpptx.slides的所有slide对象:

  打印(幻灯片)

  3.了解形状

  只要熟悉Excel、Word这样的多级结构,PPT的结构就很好理解。每个幻灯片页面都有一个或多个形状shapeforslideinpptx,幻灯片:

  forshapeinslide.shapes:

  打印(形状)

  4.获取文本框内容。

  要获取文本内容,很容易联系到shape shape中文本的从属结构。从Word中的学习,也可以推断出文本的承载单位是段落段落和文本块游程。

  很自然会想到使用以下代码来获取slideinpptx.slides的文本:

  forshapeinslide.shapes:

  forparagraphinshape.paragraphs:

  打印(段落.文本)

  或forslideinpptx.slides:

  forshapeinslide.shapes:

  forparagraphinshape.paragraphs:

  for running paragraph . runs:

  打印(运行.文本)

  但这里就来了一个问题:是不是每种形状都总有一段文字?

  从上图可以看出,蓝色椭圆的形状没有文字,中间的大虚线框中有文字。形状中是否有文本取决于它是否包含文本框text_frame。下面是与文本框相关的操作:shape.has_text_frame判断形状中是否有文本框。

  获取文本内容

  在PPT中,文本框是文本的载体,所以获取文本的代码如下:forslideinpptx.slides:

  forshapeinslide.shapes:

  ifshape.has_text_frame:

  text_frame=shape.text_frame

  打印(text_frame.text)

  这里,我们需要修正一下之前对PPT结构的理解:

  5.获取段落和文本块

  每个文本框都可以看作一个小的Word文件,有两个层次的结构:段落和文本块:forslideinpptx.slides:

  forshapeinslide.shapes:

  ifshape.has_text_frame:

  text_frame=shape.text_frame

  for paragraphintext _ frame . paragraphs:

  for running paragraph . runs:

  打印(运行.文本)

  5.写PPT

  创建一个新的PPT的代码可以和创建Word文件的代码进行对比,在实例化的过程中不给出具体的路径就创建了空白文件。

  1.创建幻灯片页面

  占位符编号是区分占位符和书写内容的基础。

  2.填写占位符。

  指定占位符编号以编写特定内容幻灯片。text= .

  不及物动词修改PPT样式

  1.段落样式修改

  可以对比python-docx模块导入段落样式。

  这两种方法有许多相似之处:add_run():添加一个新的文本块。line_spacing:段内的行距。游程:段落中的所有文本块。space_after:线段后距离。space_before:段前距离

  2.文本样式修改

  style方法与Word中使用的方法相同:font.name:字体名称。font.bold:加粗还是不加粗?font.italic:斜体与否?font.color:字体颜色。font.size:字体大小

  但有一点不同:在python-pptx中,文本样式方法是基于段落的,即paragraph.font.xxxx,而在python-docx中,文本样式方法是基于文本块的。

  写在最后

  是对python-pptx模块中操作PPT的常用方法的总结。处理日常办公室工作绝对没有问题。更详细的代码请参考官方文档。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: