gpt4 book ai didi

python - 使用 python-pptx 自动重新排列 powerpoint 幻灯片

转载 作者:行者123 更新时间:2023-12-01 07:51:41 26 4
gpt4 key购买 nike

我们通常使用 powerpoint 来促进我们的实验。我们在 powerpoint 中使用“部分”将每个实验任务的幻灯片组放在一起。移动各个部分以平衡实验的任务顺序需要大量工作!

我认为我们可以在 CSV 中预定义一个平衡顺序(使用一串代表各节顺序的数字),该 CSV 可以从 python 中读取。然后使用 python-pptx 移动各个部分并保存每个订单的文件。我遇到的问题是理解如何读取 python-pptx 中的部分。如果有人有比 python 更好的解决方案,请告诉我。

感谢您的帮助!

最佳答案

如上所述in the documentation (specifically this section):

Right now, adding a slide is the only operation on the slide collection. On the backlog at the time of writing is deleting a slide and moving a slide to a different position in the list. Copying a slide from one presentation to another turns out to be pretty hard to get right in the general case, so that probably won’t come until more of the backlog is burned down.

或者换句话说,目前无法按照您的建议移动幻灯片。我使用过的最好的解决方法是生成一个新的演示文稿并将幻灯片重新排序(因为您可以添加幻灯片)。

例如,假设我在Presentation1.pptx中有幻灯片:

[0]
[1]
[2]
[3]
[4]

但我想要:

[2]
[3]
[4]
[0]
[1]

您的代码(未经测试的伪代码)将是:

old_presentation = Presentation("Presentation1.pptx")
new_presentation = Presentation()

for slide in old_presentation.slides[2:]:
new_slide = new_presentation.slides.add_slide() # transfer the contents into new presentation for slides [2] [3] [4]
populate_new_slide_from_old_slide(slide, new_slide)

for slide in old_presentation.slides[:2]:
new_slide = new_presentation.slides.add_slide() # transfer the contents into new presentation for slides [0] [1]
populate_new_slide_from_old_slide(slide, new_slide)

new_presentation.save()

哪里populate_new_slide_from_old_slide()看起来像(很确定这会按原样工作,但我再次没有测试它):

def populate_new_slide_from_old_slide(slide, new_slide):
shapes_to_transfer = slide.shapes
for shape in shapes_to_transfer:
new_shape = new_slide.shapes.add_shape(shape)

我相信占位符也是形状,所以它们应该通过这种方法传输!

注意我还没有编码.pptx有一段时间,所以实际的实现可能会稍微有所不同。但作为一个概念,这是目前实现您所要求的唯一方法。在我看来,如果您正在主动生成数据(而不是事后重新组织数据),那么制作 new_presentation 可能会更简单。对象并将您的数据插入其中。对我来说,继续以旧格式生成输出然后将其转换为新格式似乎很奇怪。例如,当 DVD 出现时,人们开始将电影放在上面(明智的选择),而不是制作 VHS,然后通过某种任意方法将 VHS 移植到 DVD(这是我试图劝阻您的非常奇怪的选择)。 p>

关于python - 使用 python-pptx 自动重新排列 powerpoint 幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56175678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com