python - 使用 python-pptx 替换 ppt 各方面的特定文本
问题描述
我是 python-pptx 的新手。但我熟悉它的基本工作。我进行了很多搜索,但找不到在所有幻灯片中用另一个文本更改特定文本的方法。该文本可能位于幻灯片的任何 text_frame 中。就像 ppt 中的所有幻灯片都有“java”关键字一样,我想在幻灯片中使用 python pptx 通过“python”来更改它。
for slide in ppt.slides:
if slide.has_text_frame:
#do something with text frames
解决方案
这样的事情应该会有所帮助,您需要迭代shape
每个对象slide.shapes
并检查 TextFrame 和关键字是否存在:
def replace_text_by_keyword(ppt, keyword, replacement):
for slide in ppt.slides:
for shp in slide.shapes:
if shp.has_text_frame and keyword in shp.text:
thisText = shp.text.replace(keyword, replacement)
shp.text = thisText
当然这个例子只是一个简单str.replace
的例子,如果你有更复杂的替换/文本更新算法,你可以根据需要进行修改。
推荐阅读
- javascript - 来自 url 变量的颜色 html 标记
- go - 如何告诉 Golang Gob 编码可以序列化包含没有导出字段的结构的结构
- reactjs - 当前日期,年份,月份通过函数做出反应
- sql-server - 创建列作为 XML 内容
- android - Android Studio 错误:构建扫描未发布
- html - 在 HTML 网站项目中调用外部 MVC 视图
- angular - Angular 5 firebase 不工作
- c# - Drools 不会向我的 c# 桌面应用程序返回任何结果
- uwp - 如何设置 InkCanvas 笔颜色的笔触不透明度?
- ember.js - 将 ember 应用程序升级到 3.0 意外令牌 <<