Python PPTX 库问题 - 替换幻灯片中的图像('SlidePart' 对象没有属性 'related_parts')
Python PPTX library issue - Replacing image in slides ('SlidePart' object has no attribute 'related_parts')
我使用 PPTX 库每周自动创建一组幻灯片。
在图书馆的最后一次更新之前,它工作得非常好。正如您在下面看到的,我在更新幻灯片的“图像部分”时不断收到以下信息:
AttributeError: 'SlidePart' 对象没有属性 'related_parts'
这是我的图像替换函数:
def replace_img_slide(prs, slide_nbr, shape_nbr, img_path):
slide = prs.slides[slide_nbr]
img = slide.shapes[shape_nbr]
try:
imgPic = img._pic
except AttributeError:
raise AttributeError(
f"Error for slide: {slide_nbr}, shape: {shape_nbr}, path: {img_path}")
imgRID = imgPic.xpath('./p:blipFill/a:blip/@r:embed')[0]
imgPart = slide.part.related_parts[imgRID]
with open(img_path, 'rb') as f:
rImgBlob = f.read()
# replace
imgPart._blob = rImgBlob
return prs
我找到了一些相关的主题,我了解到“related_parts”在新版本的库中已经过时了,但我没有找到解决方法。你觉得你能帮我吗?
非常感谢您的帮助!
只需在以前使用 part.related_parts[imgRID]
的地方使用 part.related_part(imgRID)
。
最新版本公开了该方法(内部),而不是公开一个 dict
类对象来完成那一项工作。
我使用 PPTX 库每周自动创建一组幻灯片。 在图书馆的最后一次更新之前,它工作得非常好。正如您在下面看到的,我在更新幻灯片的“图像部分”时不断收到以下信息:
AttributeError: 'SlidePart' 对象没有属性 'related_parts'
这是我的图像替换函数:
def replace_img_slide(prs, slide_nbr, shape_nbr, img_path):
slide = prs.slides[slide_nbr]
img = slide.shapes[shape_nbr]
try:
imgPic = img._pic
except AttributeError:
raise AttributeError(
f"Error for slide: {slide_nbr}, shape: {shape_nbr}, path: {img_path}")
imgRID = imgPic.xpath('./p:blipFill/a:blip/@r:embed')[0]
imgPart = slide.part.related_parts[imgRID]
with open(img_path, 'rb') as f:
rImgBlob = f.read()
# replace
imgPart._blob = rImgBlob
return prs
我找到了一些相关的主题,我了解到“related_parts”在新版本的库中已经过时了,但我没有找到解决方法。你觉得你能帮我吗?
非常感谢您的帮助!
只需在以前使用 part.related_parts[imgRID]
的地方使用 part.related_part(imgRID)
。
最新版本公开了该方法(内部),而不是公开一个 dict
类对象来完成那一项工作。