引言
在項目中生成文檔報告經常需要word中,其中的關鍵就是書簽,通過定位和替換書簽中的值來達到生成定制的報告(詳見Word模板中的表格處理);但在PPT中卻沒有書簽這個概念,所以,不能采用這種方式。以前,有人模擬書簽,在PPT文檔中寫一個固定的符號來表示特定的值,這是一種可行的方式,但不是最佳的,顯得很笨。
我在想這個文本、圖片、表格、形狀等既然都能放在一張幻燈片中,肯定有一個唯一標識它的符號,不然,它怎么肯定會沖突,又想起了做動畫時,好像每一個要素都有一個名字,這應該是唯一標識的名稱。
解決方案
其實每張幻燈片中每一個形狀都有對應的名稱(實際它並不是唯一的),在開始菜單,編輯-選擇窗格中可查看、修改。這就是PPT中的"書簽"
使用Aspose.Slides或其他PPT操作類庫可直接打開PPT文件、讀取幻燈片內容、遍歷每一個形狀(shape)的名稱、類型(圖片、文字、線等),然后做自己要做的事!
1 presentation = new Presentation(pptFilePath); 2 ISlide slide = presentation.Slides[0]; 3 for (int j = 0; j<slide.Shapes.Count; j++) 4 { 5 IShape shape = slide.Shapes[j]; 6 Console.WriteLine(shape.Name+"\t"); 7 }