我正在解析一个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