0

我想在图片占位符中插入图片。以前,如果需要,我会获得 EXIF 信息以进行轮换。这是我的代码:

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

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

任何线索正在发生什么或旋转图像的更好方法是什么?(我也尝试过使用 PIL,但结果更糟)。

4

1 回答 1

0

一般来说,在这种情况下,前进的方法是使用 PowerPoint(手动)创建一个看起来符合您想要的方式的幻灯片,然后检查它创建的 XML 以了解它是如何实现该功能的。

不幸的是,PowerPoint 或 OpenOffice 都不完全符合规范,并且它们在较少使用的功能中表现出意想不到的行为,尤其是在边缘附近。因此,即使我希望您会发现python-pptx在这种情况下会生成预期的 XML,但由于某种原因,PowerPoint 并未按照规范的说明进行解释。

但是,如果您可以让 PowerPoint 旋转图像而不使其消失,那么很有可能对 XML 执行与它所做的相同的操作将产生您所追求的结果。这就是我要开始的地方。

虽然有点怀疑它是图片占位符,但我会先用正常的图片形状尝试它,看看它是否有同样的问题。无论哪种方式,这都有可能缩小范围。

于 2017-08-08T17:44:25.053 回答