Python pptx图片占位符旋转使图片在PowerPoint中消失(不在LibreOffice中)

时间:2017-08-08 08:26:09

标签: python powerpoint python-pptx

我想在图片占位符中插入图片。以前我会根据需要获取EXIF信息。这是我的代码:

placeholder = slide.placeholder[N]
photo.open()
ph_picture = placeholder.insert_picture(photo)
if exif['Orientation'] == LANDSCAPE_ORIENTATION:
    ph_picture.rotation = 90.0

当我在LibreOffice中打开pptx生成的文件时,图像看起来很棒。但在PowerPoint中他们消失了。删除旋转图像的线条会使图像再次出现。

任何线索是什么或旋转图像的更好方法是什么? (我也试过PIL,但结果甚至最差)。

1 个答案:

答案 0 :(得分:0)

通常,在这种情况下,前进的方法是创建一个幻灯片,使用PowerPoint(手动)查看您想要的方式,然后检查它创建的XML以查看它如何接近该功能。

不幸的是,PowerPoint或OpenOffice都不完全符合规范,并且在使用较少的功能中会出现意外行为,特别是在条纹周围。因此,即使我希望您在这种情况下发现python-pptx正在生成预期的XML,但由于某种原因,PowerPoint并没有像规范那样解释它。

但是,如果你可以让PowerPoint旋转图像而不会消失它,那么很有可能,它对XML做同样的事情会产生你之后的结果。这就是我开始的地方。

虽然它是一个图片占位符但有点怀疑,我首先尝试使用正常的图片形状,看看它是否有同样的问题。这可能会缩小范围。