将pptx幻灯片导入docx文档

Importing pptx slides into docx document

我有数百张幻灯片是用 python-pptx 创建的。其中许多幻灯片都有我想在 docx 文件中使用的图表。所以我想做的是使用 python-docx 将这些 slides/charts 导入到 docx 文件中。这可能吗?

不,不适用于当前的 python-pptxpython-docx API。

这样的事情当然是可能的,因为 Word 应用程序将允许您从 PowerPoint 中 "paste" 图表,事实上图表本身是在 DrawingML 中指定的,这是一个共享的 XML 词汇表在 PowerPoint、Word 和 Excel.

之间

但是要使用 Python 进行这项工作,您必须深入研究 python-pptxpython-docx 的内部结构(尽管它们的架构非常相似) .您可能还需要了解更多关于 XML 词汇的知识,而不是您真正想知道的。因此,您可能需要考虑替代方法,例如使用 win32com 支持此类事情,尤其是如果您 运行 处于 Windows 并且这是一次性工作并且不需要托管在服务器上以供持续使用。

如果您认为自己确实想要解决它,那么第一步可能是检查与 PowerPoint 图表相关的 XML(位于幻灯片中)和 PPTX 包的图表部分)并检查出现在包含图表的 Word (.docx) 文件中的相应 XML。这将使您了解需要从 PPTX 包中获取什么,它可能需要进行哪些转换(可能会更改名称空间)以及需要将其添加到 DOCX 包中的位置,包括更新关系文件和可能更新某些使它们在目标包中唯一的 ID 值。