Is there a way to present a powerpoint presentation in webpage?

361 Views Asked by At

I want to create a conference web app in which the host is able to upload a ppt or pptx file, and the slide that the host is on will be visible to all other members of the call.

The problem is I can't find a way to present a ppt file in an HTML document. I am comfortable using any language for server side, but would prefer using Node.

I tried simply opening a ppt file in a browser, but it simply downloads the file, and doesn't actually present it. I don't really want to use MS 365, as I want the website to rely only on open source technologies, and also using live office that's logged into my personal account on the server sounds like a bad idea.

I tried converting ppt to images, then show the images one by one. But the options to convert ppt to images are either paid like Aspose, or require libre office to be installed.

What should I do ?

1

There are 1 best solutions below

0
Steve Rindsberg On

I tried converting ppt to images, then show the images one by one. But the options to convert ppt to images are either paid like Aspose, or require libre office to be installed.

There are other options using only PowerPoint. This page on the PPT FAQ I maintain explains them.

https://pptfaq.com/FAQ00052_Improve_PowerPoint-s_GIF-_BMP-_PNG-_JPG_export_resolution.htm

You can edit the registry (as described there) to change the default DPI PPT uses when you Save As and choose to save as JPG/PNG/etc.

Or you can use a vba macro to give you control over how the images are named, where they're stored and the resolution they're exported at:

Option Explicit

' These items govern the export format and resolution
' Edit them as needed

' What image format is desired?
Const ExportFormat As String = "JPG"  ' change to "PNG" or whatever's needed

' Image width and height
' Make sure they're proportional to the slide's dimensions
Const ExportWidth As Long = 2048
Const ExportHeight As Long = 1234

' In what folder should we put the images?
' MUST end with a \ character
Const ExportFolder As String = "C:\Temp\"

' What should we name the images?
' Slide number will be appended to this base name
Const BaseName As String = "Slide_"

Sub ExportSlides()

    Dim oSl As Slide

    For Each oSl In ActivePresentation.Slides
        oSl.Export ExportFolder & BaseName & Format(oSl.SlideIndex, "0000") _
        & "." & ExportFormat, _
        ExportFormat, ExportWidth, ExportHeight
    Next    ' Slide

End Sub