我是python-pptx的新手。但是我熟悉它的基本工作原理。我进行了很多搜索,但找不到在所有幻灯片中通过另一文本更改特定文本的方法。该文本可以在幻灯片的任何text_frame中。像ppt中的所有幻灯片都具有'java'关键字一样,我想在幻灯片中使用python pptx通过'python'对其进行更改。
for slide in ppt.slides:
if slide.has_text_frame:
#do something with text frames
答案 0 :(得分:1)
类似的事情应该会有所帮助,您需要迭代每个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
,如果您有更复杂的替换/文本更新算法,则可以根据需要进行修改。