private IPartFilter GetSlidePartFilter(PartInfo rel, DocumentProcessingActions action, bool bBlockHiddenSlides) { int iSlideNumber = 0; if (m_ppf != null) iSlideNumber = m_ppf.GetSlidePositionFromRelId(rel.Id); PptxSlidePartFilter spf = new PptxSlidePartFilter(m_commonNamespaces, iSlideNumber); spf.Triggers.AddRange(PptxMetadataDefinitions.ParagraphText); if (AreWeInterestedIn(ContentType.Comment)) { spf.Triggers.AddRange(PptxMetadataDefinitions.PostItNoteComment); spf.ListShapeWithPostItNoteComment = GetListOfSlideShapesWithPostItNoteComment(iSlideNumber); } if (AreWeInterestedIn(ContentType.TextBox)) spf.Triggers.AddRange(PptxMetadataDefinitions.TextBoxes); if (AreWeInterestedIn(ContentType.HiddenSlide)) { spf.Triggers.AddRange(PptxMetadataDefinitions.HiddenSlide(iSlideNumber)); if (bBlockHiddenSlides && ActionIncludesCleaning(action) && IsSlideHidden(iSlideNumber)) { spf.BlockFilter = true; } } if (AreWeInterestedIn(ContentType.Hyperlink)) spf.Triggers.AddRange(PptxMetadataDefinitions.Hyperlink); if (AreWeInterestedIn(ContentType.Field)) { spf.Triggers.AddRange(PptxMetadataDefinitions.ActiveXControls); spf.Triggers.AddRange(PptxMetadataDefinitions.EmbeddedObjects); spf.ListGraphicFrameHasOLEObject = GetListOfSlideOLEObjectsInGraphicFrames(iSlideNumber); } if (AreWeInterestedIn(ContentType.Footer)) { spf.Triggers.AddRange(PptxMetadataDefinitions.Footer); spf.Triggers.AddRange(PptxMetadataDefinitions.FooterOnSlide); } return spf as IPartFilter; }
private void CollectPreProcessResultsForSlidePart(PartInfo rel, PptxSlidePartFilter pf) { if (pf != null && pf.SlideNumber != 0) { m_dictHiddenSlides.Add(pf.SlideNumber, pf.HiddenSlide); m_dictSlideTargets.Add(rel.Target, pf.SlideNumber); if (pf.SlideNumber > m_iMaxSlideNumber) m_iMaxSlideNumber = pf.SlideNumber; m_dictSlideShapesWithPostItNoteComment.Add(pf.SlideNumber, pf.ListShapeWithPostItNoteComment); m_dictSlideOLEObjectsInGraphicFrames.Add(pf.SlideNumber, pf.ListGraphicFrameHasOLEObject); } }