為了避免不斷修改,還是先仔細確認Powerpoint中,投影片與版面配置的圖形如何匹配。
母片、版面配置、投影片的結構很像,大部分的資料在p:cSld中,都是圖形。要知道他們的樣板機制,需要知道這些圖形如何匹配,這樣投影片才有辦法把資料對應到版面配置中。
本來想說可以透過圖形的p:ph(Placeholder)中的類型(type)來做匹配,但是仔細觀察之後,發現似乎不是這麼回事XD,因為把幾個版面配置資料檢查過一次就會發現,實際上有的版面配置中,同樣類型的圖形可能就出現不只一次,所以用類型來匹配會有問題。
p:ph裡面還有另一個屬性,就是idx。在版面配置中,除了標題,每個要讓投影片套用的圖形樣板,都會有一個idx,這個idx在個別的版面配置中是唯一的。以slideLayout5.xml為例,他看起來是這樣:
可以看出,有兩個子標題及兩個內容文字。如果整理一下裡面圖形的Placeholder資訊,會發現:
其實有一個圖形沒有idx屬性,但是這個圖形的type永遠是title,所以可以推測投影片的標題圖形,就是沒有idx的這個。透過「空白投影片」這個版面配置的資料可以發現,裡面既沒有type是title,也沒有無idx的圖形。所以應該可確認,type是title且無idx的圖形就是投影片的標題。
母片中的圖形,可以分成幾個部分
母片的圖形也有部分有idx,但是基本上跟slideLayout沒有關連。母片中另外有一個重要資料是txStyles,裡面有三種文字列表樣式,分別是titleStyle、bodyStyle及otherStyle。看起來在處理版面配置時,不太需要額外處理母片中的圖形,只要根據type把這幾個資訊丟給版面配置就可以。
大致上就是這樣了。今天是例假,明天再來改程式...