簡體   English   中英

python-pptx更改布局中的圖片

[英]python-pptx change picture in layout

我嘗試啟用自動導入圖片的功能,以防止每次手動添加100張圖片。 我似乎無法訪問圖片的占位符,並用新圖片替換它們。 一些正確方向的指南會很有幫助。

我開始的代碼:

import pptx
import pptx.util

from pptx import Presentation

prs = Presentation('prepare_2.pptx')

picture_runs = []


for slide in prs.slides:
    for shape in slide.shapes:
        if shape.shape_type == 13:

            slide.get.image('tree.jpg')
          >Picture_runs.append((shape.name,shape.shape_type,shape.id,shape.image))

找到我獲得的信息: http : //python-pptx.readthedocs.io/en/latest/user/quickstart.html

幻燈片布局

首先,您必須分析模板中可用的布局(本例中為prepare_2.pptx )。

要做到這一點,就像編寫一個腳本一樣容易,它可以獲取演示文稿中的所有布局並列出所有形狀和占位符。 像這樣:

prs = Presentation('template.pptx')
for idx, slide_layout in enumerate(prs.slide_layouts):
    slide = prs.add_slide(slide_layout)
    for shape in slide.placeholders:
        print idx, shape.placeholder_format.idx, shape.name

如果按原樣使用此腳本,則在shape不是占位符的情況下,可能必須管理異常。 您還可以通過在Powerpoint上編輯演示文稿母版來了解和設計布局,但是您將不得不猜測idx。

一旦知道其中有圖片占位符的布局,就可以選擇這種布局來創建帶有Image的新幻燈片。

像這樣:

slide = prs.slides.add_slide(THE_IDX_OF_YOUR_LAYOUT_WITH_PICTURE)
placeholder = slide.placeholders[THE_IDX_OF_YOUR_PICTURE_PLACEHOLDER]
placeholder.insert_picture(picture)

我建議您閱讀有關此的絕對出色的文章: http : //pbpython.com/creating-powerpoint.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM