如何检查 PowerPoint 幻灯片是否包含图像



我正在解析一个PowerPoint文件,一些幻灯片包含图像。如何检测幻灯片中是否有图像?

我正在检查幻灯片中的所有形状,但我没有看到任何可以让我知道是否有图像的属性。目前,如果我要检查形状。替代文本我注意到它们可能包含带有扩展名.png、.jpg、.gif等的图像名称或路径。这让我知道哪些形状包含图像,但这并不适用于所有图像,并且不一致。

有人知道检测图像的方法吗?一个形状.hasImage会很好。

提前谢谢。

我知道这是一个

迟到的答案。但它可能会帮助其他人。

通过使用以下代码,您可以在每张幻灯片上找到图像的数量。

  for(int i=1;i<= Pres.Slides.Count;i++) 
      {
          Microsoft.Office.Interop.PowerPoint.Shapes shapes = Pres.Slides[i].Shapes;
            foreach(Microsoft.Office.Interop.PowerPoint.Shape shape in shapes)
            {
                if (shape.Type == Microsoft.Office.Core.MsoShapeType.msoPicture)
                {
                   // set a counter or 2 dimensional  array to store how many shapes are in each slide.
                }
            }
     }

图像可以作为图像放置,也可以作为图片填充放置在占位符中,也可以作为图片填充到形状或图片填充到背景或作为链接图像放置。因此,找到所有实例将需要更多的工作。这将查找放置在幻灯片上的照片,但不在占位符中:

Sub FindPicture()
  Dim oSlide As Slide
  Dim oShape As Shape
  For Each oSlide In ActivePresentation.Slides
    For Each oShape In oSlide.Shapes
      If oShape.Type = msoPicture Then
        MsgBox oShape.Name
      End If
    Next oShape
  Next oSlide
End Sub

最新更新