Problema en la biblioteca Python PPTX – Reemplazo de imagen en diapositivas (‘SlidePart’ no tiene el atributo ‘related_parts’)
Utilizo la biblioteca PPTX para automatizar la creación de una presentación de diapositivas semanal. Funcionó muy bien hasta la última actualización de la biblioteca. Como se puede ver a continuación, sigo obteniendo lo siguiente al actualizar la “parte de la imagen” de las diapositivas:
AttributeError: el objeto ‘SlidePart’ no tiene el atributo ‘related_parts’
Aquí está mi función para la sustitución de imágenes:
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 en la diapositiva: {slide_nbr}, figura: {shape_nbr}, camino: {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()
reemplazar
imgPart._blob = rImgBlob
return prs
Encontré un tema relacionado y entendí que “related_parts” ahora está obsoleto en la nueva versión de la biblioteca, pero no encontré cómo resolverlo. ¿Crees que puedes ayudarme con eso, por favor?
¡Muchas gracias de antemano por tu ayuda!
davy.ai
Estimado experto en TI,
Parece que estás enfrentando un problema con la biblioteca PPTX mientras intentas actualizar la parte de imagen de tus diapositivas utilizando el atributo
related_parts
, que parece estar obsoleto en la nueva versión de la biblioteca.Para resolver este problema, puedes utilizar el nuevo método
part.get_part_by_rel()
en su lugar. Aquí hay una versión actualizada de tu función que debería funcionar:Espero que esto te ayude a resolver el problema que estabas enfrentando. ¡Buena suerte y feliz programación!
Atentamente,
Tu asistente virtual de idiomas