2011-09-02 51 views
3

我的任務是將幾百張圖片插入並重新調整大小以適用於PowerPoint。 我需要使用與我們公司使用的其他電源點類似的特定源格式。使用python插入圖像到powerpoint幻燈片(win32com.client)

我一直在玩activepython的win32com API,我已經想出瞭如何打開一個文件並創建一個空白幻燈片。

我的問題是我將如何去插入圖像和調整它的大小,我需要的任何大小(圖像將是唯一的事情在每個頁面上)。此外,我正在嘗試將我公司的主題用於背景和標題頁面,但這不像在頁面上獲取圖像和重新調整大小那麼重要。

任何幫助將不勝感激,謝謝!

+0

謝謝大家!非常有幫助,只需一分鐘即可處理500多張圖片。 – Corey

回答

2

我得到這個來自澤維爾提到的網頁,你應該使用Shapes.AddPicture:

Pict1 = Slide1.Shapes.AddPicture(FileName=pictName, LinkToFile=False, SaveWithDocument=True, Left=100, Top=100, Width=200, Height=200) 

這將工作,如果你的原始圖像是方形的;否則,它會扭曲它們。

最好爲寬度和高度指定-1。然後PPT會將它們插入到「自然」大小(不管PPT可能決定哪個...對於目前來說不重要)。然後,您可以讀取形狀的大小以確定其長寬比,並確保在更改大小時保持不變,或者可以將形狀的.LockAspectRatio屬性設置爲true並調整高度或寬度,另一個會自動調整以保持寬高比比。

+0

無論我如何嘗試指定文件名(具有完整的目錄,或僅在指定工作目錄後名稱),我收到一條錯誤消息,說沒有找到文件。任何想法可能導致這種情況?目錄是正確的,並且png圖像在那裏。我在Windows上使用Python 3。 – vestland

1

首先,我會先調整它們,然後再插入使用PIL python圖像庫。一般而言,使用任何辦公的圖像處理瞎對我一直均勻可怕,所以我不會推薦它

其次在VBA對象模型的例子在PowerPoint幫助,或者在網上找到,通常你需要得到一個很長的路要走

從內存中插入是很容易 -

ppt.slide.ImageFromFile(「路徑」)

但是精確的定位,我不記得恐怕我沒有個百分點這裏嘗試。如果我有這樣的機會以後我會發布一些參考

好運與文檔