2012-05-06 41 views
1

我有一張幻燈片的pptx文件。幻燈片中有一張圖表。我想使用C#代碼從幻燈片中刪除該圖表。我寫了一個C#程序來做到這一點。運行解決方案後,打開轉換後的pptx文件;我得到這個錯誤:如何刪除powerpoint中的幻燈片圖表

powerpoint removed unreadable content in test2

我的C#代碼如下。

string pptxFileNameTemplate = "D:\\test.pptx"; 
string pptxFileNameGenerate = "D:\\test2.pptx"; 

File.Copy(pptxFileNameTemplate, pptxFileNameGenerate, true); 
using (PresentationDocument presentationDocument = PresentationDocument.Open(pptxFileNameGenerate, true)) 
{ 
    PresentationPart presentationPart = presentationDocument.PresentationPart; 
    List<SlidePart> slideParts = new List<SlidePart>(); 
    presentationPart.GetPartsOfType<SlidePart>(slideParts); 
    SlidePart slp = slideParts[0]; 
    List<ChartPart> chartParts = new List<ChartPart>(); 
    slp.GetPartsOfType<ChartPart>(chartParts); 
    ChartPart cp = chartParts[0]; 
    string chartPartIdBookMark = slp.GetIdOfPart(cp); 
    slp.DeletePart(chartPartIdBookMark); 
    slp.Slide.Save(); 
    presentationDocument.Close(); 
} 

回答

1

您可以循環使用application.presentation.slides併爲slide.shapes收集每個形狀檢查shape.type,當類型的圖表調用shape.delete

所有幻燈片