请教PPT转JPG的思路

发布于 2021-11-14 06:55:09 字数 89 浏览 940 评论 5

大家好,请教各位,不用到OFFICE库的情况下,PPT转JPG有何思路?

我目前只想到,分析PPT文件格式,然后输出图片,但没查到PPT的文件格式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

疾风者 2021-11-18 21:22:56

这个脚本很不错啊  
ppt下载 我喜欢到
ppt宝藏

千纸鹤带着心事 2021-11-18 16:13:29

这个方法是windows下的?

我想知道如果在linux下实现PPT文件一屏一屏地转化成jpg。

系统里用得是libreoffice

叹沉浮 2021-11-18 14:54:54

很好用!哈哈

南汐寒笙箫 2021-11-17 18:42:09

不用库不知道

用库有个脚本

'PowerPoint文件转图像脚本(ppt2img)
'使用方法:将此文件放在sendto文件中,然后在ppt文件上点右键,发送到,ppt2img.vbs
'中,输入要输出图
'像的格式,然后输入图像的宽与高,脚本会生成一个同名的文件,里面为生成的图像文件。
'机器上要安装Powerpoint程序
on error resume next
Set ArgObj = WScript.Arguments
pptfilepath = ArgObj(0)
imgType = InputBox("输入导出文件的格式,可以是jpg,png,bmp,gif","输入导出文件的格式","gif")

if imgType = "" or (lcase(imgType)<>"jpg" and lcase(imgType)<>"png" and lcase(imgType)<>"bmp" and lcase(imgType)<>"gif") then
    imgType = "png"
    msgbox "输入不正确,以png格式输出"
end if

imgW = InputBox("输入导出图像的宽度","输入导出图像的宽度","800")
if imgW = "" or isnumeric(imgW)=false then
    imgW = 800
    msgbox "输入不正确,程序使用默认值:800"
end if

imgH = InputBox("输入导出图像的高度","输入导出图像的高度","600")

if imgH = "" or isnumeric(imgH)=false then
    imgH = imgW*0.75
    msgbox "输入不正确,程序使用默认值:"&imgH
end if

call Form_Load(pptfilepath,imgType)

Private Sub Form_Load(Filepath,format)
    if format = "" then
        format = "gif"
    end if
    Folderpath = left(Filepath,len(Filepath)-4)
    if lcase(right(Filepath,4))<>".ppt" then
        call ConvertPPT(Filepath,Folderpath&".ppt")
    end if
    Filepath = Folderpath&".ppt"
    CreateFolder(Folderpath)
    Set ppApp = CreateObject("PowerPoint.Application")
    Set ppPresentations = ppApp.Presentations
    Set ppPres = ppPresentations.Open(Filepath, -1, 0, 0)
    Set ppSlides = ppPres.Slides

    For i = 1 To ppSlides.Count

        iname = "000000"&i
        iname = right(iname,4)'取四位数
        Call ppSlides.Item(i).Export(Folderpath&""&iname&"."&format, format, imgW, imgH)
    Next

    Set ppApp = Nothing
    Set ppPres = Nothing
End Sub

Function CreateFolder(Filepath)
    Dim fso, f
    on error resume next
    Set fso = CreateObject("Scripting.FileSystemObject")
    if not fso.FolderExists(Filepath) then
        Set f = fso.CreateFolder(Filepath)
    end if
    CreateFolder = f.Path
    set fso = Nothing
    set f = Nothing
End Function

Sub ConvertPPT(FileName1, FileName2)
    Dim PPT
    Dim Pres

    Set PPT = CreateObject("PowerPoint.Application")
    Set Pres = PPT.Presentations.Open(FileName1, False, False, False)
    Pres.SaveAs FileName2, , True

    Pres.Close
    PPT.Quit

    Set Pres = Nothing
    Set PPT = Nothing
End Sub

风透绣罗衣 2021-11-14 20:57:47

刚发完,百度里就能搜到这个帖子了,速度好快。表扬一下百度。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文