为了使PPT(其他Office文档也一样)能够在H5上可以预览,我们常常需要对PPT文档进行转换。

例如,将PPT转换成Pdf格式,或者转换成一张张图片。

但是,第三方转换服务常常有一些限制,比如PPT不能超过100M。

由于在我们的业务场景下,PPT过大常常是因为内嵌了视频,我出了一个贱招:把PPT中的内嵌视频抠掉。

以下是一个VBScript的Demo。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Set args = Wscript.Arguments
Set ppt = CreateObject("PowerPoint.Application")
Set objPresentation = ppt.Presentations.Open(args.Item(0))
For Each slide in objPresentation.Slides
For x = slide.Shapes.Count To 1 Step -1
With slide.Shapes(x)
If .Type = 16 Then
If .MediaType = -2 Then
.Delete
End If
End If
End With
Next
Next
objPresentation.Save
ppt.Quit

可以这样执行它:

1
$ cscript delete-media-in-slides.vbs D:\1.pptx

Reference