无法在幻灯片中插入图片

时间:2018-02-09 19:35:35

标签: python-pptx

我正在尝试从文件中读取图片并将其插入幻灯片中。到目前为止它的工作正常。但今天它给了我一个错误:“'Image'对象没有属性'_ext'”。我可以看到图像与其他图像相同,它是一个.jpg图像。我不知道为什么它给了我这个错误。 ValueError:不支持的图像格式,预期之一:dict_keys(['BMP','GIF','JPEG','PNG','TIFF','WMF']),得到'MPO'。 我正在使用:

for file in os.listdir("C:/Users/me/Desktop/imageSourceFile") :
 print(file)
 pic = Slide.shapes.add_picture("C:/Users/me/Desktop/imageSourceFile" 
 + '/' + file, left=Inches(3), top=Inches(3), width= Inches(3),  
 height=Inches(3))

prs.save('C:/Users/me/Desktop/mypresentation.pptx')

除了这张图片外,其他所有内容都会被拉入幻灯片中。我无法理解如何处理此错误。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

我遇到了类似的错误,我发现抛出此错误的.jpg图像实际上是立体声JPEG格式。将图像转换为常规JPEG格式后,我可以使用" pptx"将它们插入PowerPoint幻灯片。 python中的库。我使用以下网站转换文件: https://image.online-convert.com/convert-to-jpg

答案 1 :(得分:0)

谢谢Raj Stha的回答,但我的问题是我在演示文稿中的许多图片都面临着此错误。

我仍然没有发现为什么会出现这个错误,但我最近想出了一个解决方案。

my_input_list = [['A'],
                 ['A', 'B', 'C'],
                 ['D'],
                 ['D', 'E', 'F'],
                 ['A', 'B', 'C', 'D', 'E', 'F'],
                 ['A', 'C', 'E']]
items_that_appear_twice = ['A', 'B', 'C']
items_that_appear_four = ['D', 'E', 'F']

my_output_list = []
for sub in my_input_list:
    my_output_list.append(sub)
    my_output_list.append(sub)
    sub = [x for x in sub if x in items_that_appear_four]
    if sub:
        my_output_list.append(sub)
        my_output_list.append(sub)

assert my_output_list == [
    ['A'], ['A'],
    ['A', 'B', 'C'], ['A', 'B', 'C'],
    ['D'], ['D'], ['D'], ['D'],
    ['D', 'E', 'F'], ['D', 'E', 'F'], ['D', 'E', 'F'], ['D', 'E', 'F'],
    ['A', 'B', 'C', 'D', 'E', 'F'], ['A', 'B', 'C', 'D', 'E', 'F'], ['D', 'E', 'F'], ['D', 'E', 'F'],
    ['A', 'C', 'E'], ['A', 'C', 'E'], ['E'], ['E']]

这样我们就可以绕过在线转换它们的过程。在插入图片之前,在这些图片上运行此代码将确保此错误不会发生在任何图片上。

由于