你能否使用python-pptx更改占位符类型?

8
标准的Powerpoint布局似乎具有“内容”占位符,它们显示为类型SlidePlaceholder。是否有办法将这些占位符更改为其他类型?例如,我真的想在其中一个这些占位符中插入图片,但SlidePlaceholder没有insert_picture方法。先前的问题已经解决了如何插入图片,但回答提到:“您必须使用特定于要插入内容的占位符替换任何“通用”内容占位符。”然而,他没有说明如何做到这一点。从文档中也不容易看出来。感谢您的帮助!
1个回答

3
您可以在“模板”演示文稿中手动进行此更改,使用PowerPoint应用程序。其中的占位符将位于幻灯片版式之一中(从我的版本菜单中查看>母版>幻灯片母版),并将被“克隆”到从该版式创建的任何新幻灯片中。
我不认为PowerPoint UI提供了一种实际更改幻灯片布局中现有占位符类型的方法,因此,如果存在占位符,则需要删除任何现有占位符,并创建一个相同大小、相同位置(或您希望的任何位置和大小)的新占位符。

1
感谢您的回复,scanny。我有一个问题:既然我可以在PowerPoint应用程序中添加表格、图像等到内容占位符中,为什么我不能通过python-pptx添加它们呢?这使得应用程序和python-pptx库之间的区别相当不直观。 - mcdevitts
1
我记得这纯粹是基于开发工作量的决定。没有理由不支持“内容”(多内容类型)占位符,只是需要大量额外的代码来实现它,目前还没有人站出来赞助(或贡献)。我想这并不令人惊讶,因为大多数人,像你一样,知道他们想在那里放什么(图表、表格、图片),所以不需要灵活性,并且可以控制起始模板。它可能会在以后的版本中推出。 - scanny
好的,谢谢。我在几年前看到了一个与此有关的GitHub拉取请求,但看起来你在等待单元测试? - mcdevitts
可能远不止这个数,我得看一下,但大多数PR仅涵盖了一个足够强大并且可以合并的功能所需完成工作的一小部分。 - scanny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接