[Python]批量替换PPT字体脚本

使用说明

  1. 将脚本放置在需要批量修改的PPT文件夹根目录
  2. 修改配置文件 conf.ini 中的字体
  3. 执行脚本文件

​ exe文件 下载:https://wwu.lanzouw.com/ip4Yi032eoji

脚本代码

from pptx import Presentation
import pptx_ea_font
import os
import configparser

def setFont(file):
   # 定义函数修改字体
   prs = Presentation(file)
   for slide in prs.slides:
      for shape in slide.shapes:
         if shape.has_text_frame:
            text_frame = shape.text_frame
            for paragraph in text_frame.paragraphs:
               for run in paragraph.runs:
                  pptx_ea_font.set_font(run, FONT)
   prs.save(file)

def traverse_directory_tree ():
   # 遍历目录树,更改后缀为.ppt和.pptx的文件
   path = os.getcwd()
   for root,dirs,files in os.walk(path):
      for file in files:
         if file.endswith(".pptx") or file.endswith(".ppt"):
            print(os.path.join(root,file) + " 的字体已被更改为:" + FONT)
            file = os.path.join(root,file)
            setFont(file)

if __name__ == "__main__":
   # 初始化对象
   conf = configparser.ConfigParser()
   conf.read("config.ini")
   print("目录下所有的PPT字体将设置为:" + conf.get("CONF", "FONT"))
   FONT = conf.get("CONF","FONT")
   # 执行命令
   traverse_directory_tree()

配置文件

[CONF]
FONT = 思源黑体 CN Regular

Original: https://www.cnblogs.com/Skybiubiu/p/16134844.html
Author: SkyBiuBiu
Title: [Python]批量替换PPT字体脚本

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606252/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 飞鸽传书:一个局域网QQ

    推荐一个类似局域网QQ的免费软件——飞鸽传书,支持windows、mac、Linux、安卓、苹果手机。 飞鸽传书:一个局域网QQ 局域网文件和消息互传应该用什么呢?在这里推荐一个类…

    Linux 2023年6月6日
    096
  • C语言练习:hackerrank十五关

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    085
  • 一文带你玩透结构体和方法

    package main import ( "fmt" ) //定义结构体类型User type User struct { username string &…

    Linux 2023年6月7日
    069
  • R基础

    1、官网下载R和Rstudio 2&#x…

    Linux 2023年6月8日
    081
  • 正则: 匹配英文、数字和所有特殊字符

    r”’\[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;’\\[\]·~!@#¥%……&*()——\-+={}|《》?…

    Linux 2023年6月15日
    0118
  • Linux命令篇-wc 命令

    wc – print newline, word, and byte counts for each file wc: 统计文件的 &#x5B57;&#…

    Linux 2023年6月13日
    090
  • 其他

    1、【剑指Offer学习】【面试题01:实现赋值运算符函数】 2、【剑指Offer学习】【面试题02:实现Singleton 模式——七种实现方式】 5、【剑指Offer学习】【面…

    Linux 2023年6月13日
    075
  • 阿里云-docker上安装redis

    1、取最新版的 Redis 镜像 这里我们拉取官方的最新版本的镜像: $ docker pull redis:latest 2、查看本地镜像 使用以下命令来查看是否已安装了 red…

    Linux 2023年5月28日
    070
  • gitlab

    版本控制gitlab 1. 版本控制介绍 2. gitlab部署 版本控制介绍 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思…

    Linux 2023年6月7日
    0113
  • wsl2安装百度apollo及其基本配置

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism….

    Linux 2023年6月7日
    093
  • [ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法

    https://www.cnblogs.com/yeungchie/ Callback 函数 proc Callback { handle } { variable line if…

    Linux 2023年6月7日
    085
  • CentOS7.4安装docker

    1、安装环境 此处在Centos7进行安装,可以使用以下命令查看CentOS版本 lsb_release -a 在 CentOS 7安装docker要求系统为64位、系统内核版本为…

    Linux 2023年5月27日
    077
  • 基于Swoole和Redis实现的并发队列处理系统

    由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的。为了完成这些异步操作,我们做了一个基于Redis队列任务系统。 大家知道,一个消息队列处理系统主要分为…

    Linux 2023年5月28日
    079
  • PhpCms V9调用指定栏目子栏目文章的方法

    PhpCms V9调用指定栏目子栏目文章的方法 第一种,直接写父类id {pc:content action=”lists” catid=”父类…

    Linux 2023年6月13日
    092
  • 【设计模式】Java设计模式-单例模式

    【设计模式】Java设计模式 – 单例模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🌝分享学习心得,欢迎指正,大家一起学习…

    Linux 2023年6月6日
    0127
  • JuiceFS 在多云存储架构中的应用| 深势科技分享

    2020 年末,谷歌旗下 DeepMind 研发的 AI 程序 AlphaFold2 在国际蛋白质结构预测竞赛上取得惊人的准确度,使得” AI 预测蛋白质结构&#822…

    Linux 2023年6月14日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球