当前位置: 首页 > news >正文

安平网站建设找盛千微商小程序分销商城

安平网站建设找盛千,微商小程序分销商城,公众号运营外包价格,自己做电影下载网站目录 一、修改PPT中每一页的字体二、将文本框中的字都放到word里 将一份PPT的每一页字体、大小、是否加粗都统一,是一个常见需求。特别是字体统一是高频、热点需求。在python操控PPT常用库python-pptx中有一个bug,对字体的修改只能修改数字和英文字母&am…

目录

    • 一、修改PPT中每一页的字体
    • 二、将文本框中的字都放到word里

将一份PPT的每一页字体、大小、是否加粗都统一,是一个常见需求。特别是字体统一是高频、热点需求。在python操控PPT常用库python-pptx中有一个bug,对字体的修改只能修改数字和英文字母,无法修改汉字。即 run.font.namet属性只能修改英文和数字,并且 run.font.name识别的也是英文和数字的名称。如文本框中英文和数字是’Arial’汉字是宋体,则会返回’Arial’。因为这个包,没有针对汉字的API,而且这个包很久没更新了,开发者提供了解决思路是修改office文件的底层xml来实现,修改xml中的a:ea的typeface属性,网上已经有人用 pptx_ea_font 这个包实现了该功能。

首先安装对应的包
pptx和docx的包为,注意不是pptx和docx

pip install python-pptx
pip install python-docx

pptx_ea_font 安装方法为

pip install pptx_ea_font 

导入相应模块

from pptx import Presentation
import pptx_ea_font
from docx import Document
from pptx.util import Cm, Pt

一、修改PPT中每一页的字体

1、可以修改字体、大小、是否加粗
2、图形、图表、表格的汉字还不能修改,需要下一步增加该功能

函数如下:

#修改字体类型和大小
def change_ppt_font(ppt_file, new_font,new_size=None,bold=None):# 打开PPT文件presentation = Presentation(ppt_file)# 循环遍历每个slidefor slide in presentation.slides:# 循环遍历slide中的每个shapefor shape in slide.shapes:# 检查shape类型是否为文本框if shape.has_text_frame:# 获取文本框中的文字text_frame = shape.text_framefor paragraph in text_frame.paragraphs:for run in paragraph.runs:# 修改字体pptx_ea_font.set_font(run,new_font)#以下方法只能修改数字和英文#run.font.name = new_fontif new_size :run.font.size = Pt(new_size)if bold is not None:run.font.bold = bold# 保存修改后的PPT文件new_ppt_file = ppt_file.replace(".pptx", "_new.pptx")presentation.save(new_ppt_file)print("字体修改完毕!")

以上代码只能修改文本框,,因为图形是个msogroup对象。如果要修改图形中的字体需要用VBA。alt+F11 插入模块,复制以下代码 按F5
代码来自 TomasZh
注意:以下代码依然不能修改 图表 chart中的文本

Sub SetAllFontToYahei()
''' set all fonts to 微软雅黑Dim sld As SlideDim shp As Shape, chd As ShapeDim i&, j&For Each sld In ActivePresentation.Slidesi = i + 1Debug.Print "Slide " & iFor Each shp In sld.Shapesj = j + 1Debug.Print vbTab & "Shape " & jIf shp.Type = msoGroup ThenFor Each chd In shp.GroupItemsIf chd.HasTextFrame Thenchd.TextFrame.TextRange.Font.Name = "微软雅黑"chd.TextFrame.TextRange.Font.NameFarEast = "微软雅黑"End IfNextElseIf shp.HasTextFrame Thenshp.TextFrame.TextRange.Font.Name = "微软雅黑"shp.TextFrame.TextRange.Font.NameFarEast = "微软雅黑"End IfNextNextMsgBox "Task completed!"End Sub

以下代码更全面可以修改表格和图形的,但是不能修改图表的。

Sub ChangeFontInAllSlides()Dim oSlide As SlideDim oShape As ShapeDim oTable As TableDim oRow As RowDim oCell As CellDim oTxtRange As TextRangeOn Error Resume NextFor Each oSlide In ActivePresentation.SlidesFor Each oShape In oSlide.ShapesIf oShape.HasTextFrame Then ' 处理文本框中的文本Set oTxtRange = oShape.TextFrame.TextRangeWith oTxtRange.Font'──────────────────────────────.Name = "Arial" ' 修改为您所需的字体名称.Size = 20 ' 修改为您所需的字体大小.Color.RGB = RGB(255, 0, 0) ' 修改为您所需的字体颜色.Bold = True ' 修改为您所需的是否加粗.Italic = False ' 修改为您所需的是否倾斜.Underline = False ' 修改为您所需的是否有下划线'──────────────────────────────End WithEnd IfIf oShape.HasTable Then ' 处理表格中的文本Set oTable = oShape.TableFor Each oRow In oTable.RowsFor Each oCell In oRow.CellsIf oCell.Shape.HasTextFrame ThenSet oTxtRange = oCell.Shape.TextFrame.TextRangeWith oTxtRange.Font'──────────────────────────────.Name = "Arial" ' 修改为您所需的字体名称.Size = 20 ' 修改为您所需的字体大小.Color.RGB = RGB(255, 0, 0) ' 修改为您所需的字体颜色.Bold = True ' 修改为您所需的是否加粗.Italic = False ' 修改为您所需的是否倾斜.Underline = False ' 修改为您所需的是否有下划线'──────────────────────────────End WithEnd IfNext oCellNext oRowEnd IfNext oShapeNext oSlideEnd Sub

二、将文本框中的字都放到word里

def extract_text_from_ppt(ppt_file, word_file):# 打开PPT文件presentation = Presentation(ppt_file)# 创建新的Word文档word_doc = Document()# 循环遍历每个slidefor slide in presentation.slides:# 循环遍历slide中的每个shapefor shape in slide.shapes:# 检查shape类型是否为文本框if shape.has_text_frame:# 获取文本框中的文字text_frame = shape.text_framefor paragraph in text_frame.paragraphs:# 提取文本到Word中word_doc.add_paragraph(paragraph.text)# 保存Word文档word_doc.save(word_file)print("文本提取完毕!")
http://www.yayakq.cn/news/539707/

相关文章:

  • 美丽寮步网站建设哪家好中国铁建统一企业门户
  • 福州网站优化wordpress 标题入库
  • 郑州的网站建设公司有哪些自己做一网站 多做宣传.
  • 电商设计参考网站网络营销推广方式怎么收费
  • 衡阳做网站的网站怎么做qq的授权登陆
  • 网站开发 不好 怎么说表白网页在线生成制作免费
  • 服务五象新区开发建设指挥部网站wordpress这么写一个api
  • 比较好的外贸网站广州建设厅官方网站
  • 在自己网站做支付可以吗济南媒体邀约
  • 珠海网页模板建站两学一做纪实评价系统登陆网站
  • 免费建站网站一级大录像不卡在线看网页上海网站建设公司电话
  • 设计网站大全软件网络服务器配置与管理考试题
  • 怎样做学校网站wordpress中文表单生成
  • 建电影网站赚钱挣钱吗缔烨建设公司网站
  • 商城网站建设推荐微信怎么弄自己的商城
  • 国内好用的五款开源建站系统网站开发与维护课程设计
  • 网站开发人员介绍做导购网站
  • node做网站优势江宁网站建设多少钱
  • 做网站前台内容对应填充网站建设好卖吗
  • 仿同程网 连锁酒店 网站模板想做企业网站
  • 红酒商城网站建设福州网站定制设计
  • 龙华做网站东营定制网站建设服务
  • 网站建设com网站二级建造师最好的网站
  • 网站建设选哪家深圳万齐创享网站建设
  • 乾安网站建设公司网址导航系统
  • 盐城网站开发本地开发app的公司地址
  • 网站管理助手建站wordpress 会员聊天
  • 乡村旅游网站建设的意义男女做羞羞完整版网站
  • 如何制作网站的步骤怎样破解网站后台密码
  • 成都网站快速排名seo承诺排名的公司